欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

微信小程序 UI 自动化:选择工具/框架 01-2.2 minium 官方介绍

最编程 2024-03-24 18:55:28
...

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

目前小程序的体量越来越大,相关的框架和组件库越来越多,对于测试能力要求也越来越高。业内同行基于Chrome DevTools Protocol开发了很多小程序相关的测试工具,这些工具都有以下缺点:

  1. 只能在Android端上运行。小程序实际是一个跨平台的产品(IDE,Android和IOS),测试的平台覆盖不足。
  2. 兼容性问题。小程序底层运行的内核多样化(x5,原生webview内核等等),对应的调试端口不一定能够打开。
  3. 只能做UI相关的测试。小程序架构上分为渲染层和逻辑层,这些框架对于逻辑层上面的测试限制较大。

minium 除了以上缺点都没有之外,还支持以下更多特性:

特性

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

3. 如何选择

其实这个不难选择,光官方介绍来看它两个特性其实差不太多,双方的文档都是很充足的,很多问题其实可以通过文档或者微信开放社区-交流专区找到答案,如果你想直接用不再去各种集成(日志、报告),并且对nodejs不感冒,那就选minium吧,如果想学习nodejs那就是miniprogram-automator

4. 对应方案的报告展示

  • minium-测试报告-例子

minium-测试报告实例

  • jest-html-reporters-例子

    jest-html-reporters报告

5. 其他

它两目前对于上传文件,文档都没有给出实际方案解决!

用来做小程序自动化的前提,需要有小程序的源码以及开发组的权限

建议:如果大家使用了这两个工具或者说是框架,主要的资料应该选择官方文档,我这里也只是做个总结(但是本次自动化测试代码中也没用多少个API)

6. 后续

考虑用个小程序(小程序demo/开源商城小程序)给大家写写看,但是由于我本身很菜,学东西也只能学到能调用方法的境界~~多多包涵