小程序自动化测试神器Minium系列(一)环境搭建
一、什么是Minium?
minium是为小程序专门开发的自动化框架,使用minium可以进行小程序UI自动化测试。当然,它的能力不仅仅局限于UI自动化,比如:使用minium来进行函数的mock可以直接跳转到小程序某个页面设置页面数据,做针对性的全面测试
这些能力是其他的一些工具所不具备的,不仅如此,它还有许多其他特性,也是很吸引人的:支持一套脚本,iOSAndroid模拟器,三端运行提供丰富的页面跳转方式,看不到也能去得到可以获取和设置小程序页面数据,让测试不止点点点可以直接触发小程序元素绑定事件支持往AppSerive注入代码片段执行可以调用部分wx对象上的接口支持Mockwx对象上的接口支持Hookwx对象上的接口通过suite方式管理用例,config管理运行设备。。。二、环境搭建1、准备工作Python3。8及以上选择稳定版下载微信开发者工具微信7。0。72、自动安装
pip3installminium或者pip3installhttps:minitest。weixin。qq。comminiumPythondistminiumlatest。zip
3、手动安装
下载minium安装包,解压后进入文件夹,运行
python3setup。pyinstall4、设置微信开发者工具
5、找开发要源代码
这里我们以官方示例小程序项目作为演示,使用git直接clone:
gitclonehttps:github。comwechatminiprogramminiprogramdemo。git
下载到本地之后,先cd到miniprogramdemo中,然后cnpmi。接着再cd到miniprogram中,再次cnpmi。(npm真不好使)
安装、依赖、编译成功,就可以看到如下小程序:
6、环境确认
minium安装完成后,可执行以下命令查看版本:
输入minitestv
出现如下表示安装成功
开发者工具自动化能力检查
pathtocliautoprojectpathtoprojectautoport9420
路径说明:pathtoproject:指代填写存放小程序源码的目录地址,文件夹中需要包含有project。config。json文件pathtocli:指代开发者工具cli命令路径。macOS:安装路径ContentsMacOScli,Windows:安装路径cli。bat有类似以下log并且开发者工具上有以下提示的则通过,否则根据提示和开发者工具文档调试解决
举个栗子:
以我win10系统为例,输入如下命令:E:ProgramFiles(x86)Tencent微信web开发者工具cli。batautoprojectD:pyworkspaceminiprogramdemoautoport9420
看到如下显示,证明安装成功且小程序也会被启动!
三、编写测试脚本1、项目结构
简单创建一个python项目即可,如下所示:
2、添加配置文件
在项目目录添加suite。json,示例如下:{pkglist:〔{caselist:〔test〕,pkg:testcase。test}〕}
在项目目录添加config。json,这里替换上你自己本地环境的对应路径。示例如下:{projectpath:D:pyworkspaceminiprogramdemo,devtoolpath:E:ProgramFiles(x86)Tencent微信web开发者工具cli。bat,debugmode:warn}3、编写测试代码
示例代码如下:coding:utf8Time:2022123015:48Auth:longrong。langFile:mytest。py。pyIDE:PyCharmMotto:ABC(AlwaysBeCoding)importminiumclassComponentTest(minium。MiniTest):deftestuiop(self):self。page。getelement(view,innertext视图容器)。click()self。page。getelement(navigator,innertextswiper)。click()self。page。getelements(switch)〔0〕。click()self。page。getelements(switch)〔1〕。click()print(执行测试结束!)4、执行测试脚本
选中测试类执行
运行结果如下:
命令行形式
minitestmtestcase。firsttestcconfig。jsongssuite。json
运行结果如下:
效果
四、生成测试报告
输入如下命令,可生成一份美丽的测试报告
pythonmhttp。server12345doutputs
打开浏览器,访问http:localhost:12345即可查看报告。
五、写在最后
写这篇文章,算是技痒吧,在微信群看到某位同学分享的名字,我顺腾摸瓜花了一小时就有了它。
学习的意义,不在于一定要用上,而在于要用的时候可以轻松无缝衔接,而不是不会憋得一脑袋汗!
到此,小程序的入门分享完毕,感兴趣的同学可以查看官方文档。
我是测试君,关于后面小程序测试框架的更新,我也会继续,更多请继续关注我,觉得对你有用,请星标即可,不用转发!