由于最近公司开发了微信小程序,接口自动化已经实现,最近在考虑怎么实现UI的自动化,于是在网上找到了这款腾讯官方开发的小程序自动化框架minitest。
下面是官方对该框架的介绍:
-
支持一套脚本,iOS & Android & 模拟器,三端运行
-
提供丰富的页面跳转方式,看不到也能去得到
-
可以获取和设置小程序页面数据,让测试不止点点点
-
可以直接触发小程序元素绑定事件
-
支持往 AppSerive 注入代码片段执行
-
可以调用部分 wx 对象上的接口
-
支持 Mock wx 对象上的接口
-
支持 Hook wx 对象上的接口
-
通过 suite 方式管理用例,config 管理运行设备
下面简单介绍下自己框架的使用过程:
一、运行环境
python3.8以上,微信开发者工具安全设置打开,微信的版本大于7.0.7
二、安装minium库
pip3 install minium
三、环境检查
1.minium安装完成后,可执行以下命令查看版本:
minitest -vCopy to clipboardErrorCopied
出现如以下内容的构建信息则已安装成功
{'version': '1.1.0', 'revision': '2fac2e36c281213874110f2088bc08c570bc1a2d', 'branch': 'master', 'update_at': '2021-08-05 21:17:09'}Copy to clipboardErrorCopied
2.开发者工具自动化能力检查
"path/to/cli" auto --project "path/to/project" --auto-port 9420
四、开始第一个简单的例子
import minium
mini = minium.Minium({
"project_path": "path/to/project", # 替换成你的【小程序项目目录地址】
"dev_tool_path": "path/to/cli", # 替换成你的【开发者工具cli地址】,macOS: <安装路径>/Contents/MacOS/cli, Windows: <安装路径>/cli.bat
})
print(mini.get_system_info())Copy to clipboardErrorCopied
输出内容类似以下
{'model': 'iPhone 5', 'pixelRatio': 2, 'windowWidth': 320, 'windowHeight': 456, 'system': 'iOS 10.0.1', 'language': 'zh_CN', 'version': '8.0.5', 'screenWidth': 320, 'screenHeight': 568, 'SDKVersion': '2.16.0', 'brand': 'devtools', 'fontSizeSetting': 16, 'benchmarkLevel': 1, 'batteryLevel': 71, 'statusBarHeight': 20, 'safeArea': {'top': 20, 'left': 0, 'right': 320, 'bottom': 568, 'width': 320, 'height': 548}, 'deviceOrientation': 'portrait', 'platform': 'devtools', 'enableDebug': False, 'devicePixelRatio': 2}Copy to clipboardErrorCopied
代码中的配置,需要在config.json文件中配置小程序的代码路径(需要编译完成的,这个源码是使用uniapp进行开发的,所以需要打包成微信小程序后才能生效),微信开发者工具的地址
suite.json文件中写下文件的匹配规则,case_list是测试用例的匹配规则,这个地方也就是需要匹配test开头的所有文件,pkg的匹配规则是指包的匹配规则
五、代码截图
这个使用的还是unittest的框架,下面是一些代码的截图
其实本质上也是根据id,name,css等对元素进行定位,然后断言页面是否存在对应的字段或者链接,弹框是否正确等。
以上配置完成了会自动打开本地的微信开发者工具来进行测试,测试报告的生成可以使用命令生成,这是官方给出的生成测试报告的方法,但是在实际使用过程中发现会报错:
1. 本地执行` python3 -m http.server 12345 -d /path/to/dir/of/report `,然后浏览器输入:`http://localhost:12345/`
PS: *其中`/path/to/dir/of/report`为上文的`output_path`*
基于上述报告生成报告,后面发现微信开发者工具提供了一个云测平台,可以直接将脚本导入到云测平台执行脚本,而且是直接在真机上运行,比在微信开发者工具上更接近真实的业务场景,而且可以很方便的查看报告并且分享给其他成员,可以进行团队管理 从开发者工具右上角的云测点击进入:
1、导入用例:
2.新建计划:
新建计划过程中可以选择需要执行的用例个数以及执行的顺序,可以单个执行也可以批量执行
3.新建任务
打开云测的界面,可以新建任务,选择minium测试类型,选择计划,自行选择测试平台和测试时长,小程序版本,微信版本以及是否需要操作过程的截图等(这个比较好的一点是,每周可以有150分钟的免费时间,而且失败会自动返还时间,对于一般的项目来说还是够用的)。
同时还可以选择monkey类型测试,录制回放,质检类型,根据需要进行选择。
创建完成后在任务列表可以查看到。
测试结束后可以看到通过率,点击详情按钮可以查看每个脚本的执行情况,以及报错的具体信息方便定位问题。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。