微信小程序自动化测试框架 minitest

本文介绍了微信官方推出的Python版小程序自动化测试框架Minium,详述其特性,如支持多端运行、丰富的页面操作及数据设置、元素事件触发等,并指出其相比其他工具的优点。同时,文章提及了使用过程中的注意事项,如需最新调试库及一定的Python基础,并列举了一些常见问题。Minium是应对小程序测试需求的高效解决方案。
摘要由CSDN通过智能技术生成

因为项目变动,这几天都在研究微信小程序自动化测试,微信官方出了个Python版本的测试框架minium,想了解的同学可以去下载minium-doc ,也可以继续阅读本文,带你了解。

没有下载文档代码的,可以看下面这个图,简单的了解一下:

minium简介

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

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

只能在Android端上运行。小程序实际是一个跨平台的产品(IDE,Android和IOS),测试的平台覆盖不足。
兼容性问题。小程序底层运行的内核多样化(x5,原生webview内核等等),对应的调试端口不一定能够打开。
只能做UI相关的测试。小程序架构上分为渲染层和逻辑层,这些框架对于逻辑层上面的测试限制较大。
而 minium 除了以上缺点都没有之外,还支持以下更多特性:
官方还是推荐这个框架的,所以,继续往下。

minium特性

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

搭建环境

这里直接引用官方的教程, 先安装Python3和小程序开发者工具,然后

下载minium安装包,然后执行:

pip3 install minium-latest.zip

亦或者下载解压之后执行:

python3 setup.py install

安装完成后,可执行以下命令查看版本:

minitest -v

然后,可以新建一个项目,比如写一个 minitest-demo.py

import minium
mini = minium.Minium({
	# 小程序项目目录地址,这里是Windows系统的目录
    "project_path": "E:\\Workspace_2021_03\\demo",    
    # 开发者工具cli地址,Windows系统就是默认这个路径
    "dev_tool_path": "C:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat"     
})
print(mini.get_system_info())

注意,这个测试框架叫minitest,但是小程序的测试包名是minium

那这里有什么坑?

有的,微信开发者工具,默认的调试基础库要选到最新的,不然会有各种问题:
调试基础库

还有什么坑?

你如果只是一个前端开发的话,要注意,这里的用例全是Python写的,需要有一定的Python基础才行。

写用例

如果下载了官方的文档项目,里面写的还是挺全的,但是,用例还是有坑的。大概列了一下,不仅限于这些哈:

  1. 无法获取模态弹窗
    这里就是指,无法获取 wx.showModal这种原生的弹出层,像下面这样:
    公告通知
    图中的公告通知,无法用测试框架的代码获取,API中提供了 native.handle_modal()方法,但是,我试了不行,不知道是我的环境不对,还是其他的,论坛里也有好多同学获取不到。

  2. 截屏无法截取模态框
    截屏同理,获取的截图是下面这样的:

3.
3.native的方法,只能在真机调试时起作用,(但是好像有些真机也不起作用)

总结

为什么选择它,因为它的优点多于缺点,而且现在也找不到一个相对比这个更好的框架







未完,持续更新中…

  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洲上牧童

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值