微信发布了小程序的自动化测试框架Minium,提供了多种运行验证方式,其特点:

  • 支持一套脚本,iOS & Android & 模拟器,三端运行;
  • 提供丰富的页面跳转方式,看不到也能去得到;
  • 可以获取和设置小程序页面数据,让测试不止点点点;
  • 可以直接触发小程序元素绑定事件;
  • 支持往 AppSerive 注入代码片段;
  • 可以调用部分 wx 对象上的接口;

官方地址如下:https://git.weixin.qq.com/minitest/minium-doc/tree/master

在这里插入图片描述

minium 是为小程序专门开发的自动化框架,提供了 Python 和 JavaScript 版本。使用 minium 可以进行小程序 UI 自动化测试, 但是 minium 的功能不止于仅仅是 UI 自动化,甚至可以使用 minium 来进行函数的 mock,可以直接跳转到小程序某个页面并设置页面数据,做针对性的全面测试,这些都得益于我们开放了部分小程序 API 的能力。除此之外,小程序有部分组件使用了系统原生的组件,对于这部分的组件,我们也基于 uiautomator 和 wda 做了补充。

环境依赖

  • Python 3.x 微信公共库版本 >= 2.7.3
  • 下载并安装稳定版微信开发者工具,工具下载地址:

https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html

  • 如果要测Android,请下载微信测试包,下载地址:

http://dldir1.qq.com/weixin/android/wechat_0x2700069A_1460.apk
文档使用

Minium的文档是采用Nodejs编写的,因此想看文档还需要安装NodeJs的环境,如果你不知道怎么安装请自行查找。文档的安装:

npm i docsify-cli -g

然后checkout文档项目:

git clone https://git.weixin.qq.com/minitest/minium-doc

安装依赖:

cd minium-doc
npm install

本地部署:

docsify serve .

然后通过浏览器访问 http://localhost:3000 即可以查看了。

框架依赖运行环境部署

首先你要先下载框架压缩包:https://git.weixin.qq.com/minitest/minium-doc/raw/master/minium/Python/dist/minium-0.0.2.zip

接下来,你要打开微信开发者工具的安全模式

然后安装Minium:

pip3 install minium-0.0.2.zip

使用

首先你要通过命令行启动开发者工具提供了命令行

命令行 通过命令行调用安装完成的工具可执行文件,完成登录、预览、上传、自动化测试等操作。调用返回码为 0 时代表正常,为 -1 时错误。

命令行工具所在位置:

macOS: <安装路径>/Contents/MacOS/cli

Windows: <安装路径>/cli.bat

命令行启动工具 -o, --open [projectpath]: 打开工具,如果不带 projectpath,只是打开工具。如果带 project path,则打开路径中的项目,每次执行都会自动编译刷新,并且自动打开模拟器和调试器。projectpath 不能是相对路径。项目路径中必须含正确格式的 project.config.json 且其中有 appid 和 projectname 字段。示例:

打开工具

cli -o

打开路径 /Users/username/demo 下的项目

cli -o /Users/username/demo

输入如下命令:

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下面用 \\ 代替 \ )

特别说明:

1、这里的–auto-port请填写 9420,不是开发者工具安全模式的端口

2、请确保开发者工具登陆的微信号具备被测小程序的开发者权限

3、如果没有Open project with automation enabled success的输出,否则请检查IDE版本(开发者工具调试基础库版本 >= 2.7.3),或者检查命令行参数
在这里插入图片描述
另外,欢迎加入软件测试技术交流群 313782132 ~进群可领取免费软件测试资料以及群内测试大牛解惑!

测试工程师职业发展路线图

功能测试 — 接口测试 — 自动化测试 — 测试开发 — 测试架构师

加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。

资源不错就给个推荐吧~

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐