一.介绍
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-docnpm install -g
本地部署(需要在minium目录下运行该指令)指令为:
docsify serve . (注意:此处有个点)
运行
浏览器访问 http://localhost:3000 即可查看官方文档
三.使用
运行开发者工具
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 | 选择所有拥有 的组件 |
#id | #firstname | 选择拥有 id="firstname" 的组件 |
element | view | 选择所有 view 组件 |
element, element | view, checkbox | 选择所有文档的 view 组件和所有的 checkbox 组件 |
::after | view::after | 在 view 组件后边插入内容 |
::before | view::before | 在 view 组件前边插入内容 |
类比于selenium,它其实也是通过对元素的点击驱动小程序自动化
//定位并点击import timeimport miniumclass 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()
//测试用例,测试框架继承自unittestimport minium@minium.ddt_classclass 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])
推荐阅读
手把手教你利用Python网络爬虫获取链家网的房产信息
APP应用测试要点。。。。我知道的就这么多
软件缺陷是什么以及缺陷的管理
测试用例的定义和等价类划分还记得吗
软件测试分类有那些,你还知道吗