前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序测试框架之minium入门

小程序测试框架之minium入门

作者头像
用户7466307
发布2020-06-17 22:14:52
4.5K0
发布2020-06-17 22:14:52
举报

一.介绍

  • minium是腾讯为小程序和小游戏开发的自动化测试框架
  • 支持语言:python,JavaScript
  • 功能:ui自动化,函数mock,脚本多端运行
  • 项目源代码地址: https://git.weixin.qq.com/minitest/minium-doc/tree/master
  • 优势:
    • 专属小程序自动化,稳定性好
    • 环境搭建简单
    • 功能比较丰富
    • 兼容性强

二.环境配置

  • 在使用前需注册微信小程序开发者帐号
  • 下载源代码zip包解压安装到python的lib目录下
  • 安装微信开发者工具: https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html
  • 安装docsify库,类似于vue的脚手架 npm i docsify-cli -g
  • 将minium源码从微信git库中checkout下来,指令为: git clone https://git.weixin.qq.com/minitest/minium-doc
  • 进入cmd环境给minium目录里面安装依赖,指令为: cd minium-doc npm install -g
  • 本地部署(需要在minium目录下运行该指令)指令为: docsify serve . (注意:此处有个点)
  • 运行 浏览器访问 http://localhost:3000 即可查看官方文档

三.使用

  • 运行开发者工具
代码语言:javascript
复制
path/to/cli --auto /miniprogram/project/path --auto-port 9420

# path/to/cli 命令行工具所在位置:
# macOS: <安装路径>/Contents/MacOS/cli
# Windows: <安装路径>/cli.bat windows版本在安装之后默认会把cli加入到系统路径,可以先测试cli命令是否可用,如果可用,path/to/cli可以直接用cli替换

# /miniprogram/project/path 是小程序工程的路径( Windows下面用 \\ 代替 \ )minium框架小程序自动化测试
  • 执行后界面如下:
  • 进入开发者工具后需点击界面的设置-项目设置-推送版本

minium 通过 WXSS 选择器来定位元素的,目前小程序仅支持以下的选择器:

选择器

样例

样例描述

.class

.intro

选择所有拥有 class="intro" 的组件

#id

#firstname

选择拥有 id="firstname" 的组件

element

view

选择所有 view 组件

element, element

view, checkbox

选择所有文档的 view 组件和所有的 checkbox 组件

::after

view::after

在 view 组件后边插入内容

::before

view::before

在 view 组件前边插入内容

类比于selenium,它其实也是通过对元素的点击驱动小程序自动化

代码语言:javascript
复制
//定位并点击

import time
import minium
class ComponentTest(minium.MiniTest):
def test_ui_op(self):
self.page.get_element("view", inner_text="视图容器").click()
self.page.get_element(".navigator-text", inner_text="swiper").click()
self.page.get_elements("switch")[0].click()
self.page.get_elements("switch")[1].click()
代码语言:javascript
复制
//测试用例,测试框架继承自unittest

import minium

@minium.ddt_class
class FirstTest(minium.AssertBase):

  @minium.exit_when_error
  def test_init(self):
      """
      这条用例失败会退出测试计划,minium.exit_when_error可以用来修饰初始化用例
      """
      self.assertEqual(1, 1)

  @minium.ddt_case(1, 2, 3)
  def test_ddt(self, value):
      """
      数据驱动测试,这个case会自动展开成3条用例:
      test_ddt_1
      test_ddt_2
      test_ddt_3
      """
      self.assertIn(value, [1, 3])
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试test 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档