【小程序自动化Minium】一、框架介绍和环境搭建

简介: 【小程序自动化Minium】一、框架介绍和环境搭建

c5efb5d9a64a49209340c3a1563261ac.gif

微信小程序自动化测试系列分享


一、Minium 简介


minium 是微信团队为小程序专门开发的自动化框架,我们可以用它来做小程序的UI自动化测试,但是它的能力却不仅仅在于UI自动化。


正是得益于官方订制打造,所以对于小程序很多原生内容和特性的支持自然也是非常独到的,比如:


  • 直接对函数进行 mock
  • 直接跳转到小程序某个页面
  • 直接设置页面数据


这些能力是其他的一些工具做不到的。不仅如此,还有诸多其他特性也非常的吸引人:


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


这些内容会在后续的分享出陆续带来。


二、环境搭建


主要是三大件:


  • Python 3.8及以上
  • 微信开发者工具
  • 微信版本 >= 7.0.7


语言是基于Python来的,而且框架中某些接口也是继承了unittest.TestCase,所以对于熟悉Pythonunittest的童鞋来说,无疑又降低了上手难度。


如果是小白的话其实也不用过于担心,可以抽时间快速学习一下基础知识也可以上手实操。学习资源搜索引擎里就太多啦,这里放置一个菜鸟教程的学习链接。


Python 和 微信开发者工具的下载传送门:



1. 安装 minium 框架


和开发者工具都安装完成后,就可以安装minium框架了。打开cmd输入命令:


pip3 install https://minitest.weixin.qq.com/minium/Python/dist/minium-latest.zip


等待自动安装完成即可。


2535176871814a91b4cf0e95defe25df.png


2. 下载官方示例小程序项目


官方有一个小程序示例项目,我觉得很适合学习使用,这里是小程序码,拿出微信扫描可以直接体验。


1268169-20220619202522835-1683923205.png


使用git直接clone


git clone https://github.com/wechat-miniprogram/miniprogram-demo.git


下载到本地之后,先cdminiprogram-demo中,然后npm i。接着再cdminiprogram中,再次npm i


等待依赖安装完成后,再开发者工具里编译成功,就可以看到小程序了。


42020a6834314e4b9951d96b727eb86b.png


3. 环境检查


都弄完之后可以对环境进行一波检查确认。


在命令行里输入:


minitest -v


出现如下表示安装成功。


9f183a15a85f442598f6173ba536afd6.png


接着,开发者工具自动化能力检查,命令行输入:


"path/to/cli" auto --project "path/to/project" --auto-port 9420


注意这里不是直接复制粘贴执行,这里:


  • path/to/cli:指代开发者工具cli命令路径。macOS: <安装路径>/Contents/MacOS/cli, Windows: <安装路径>/cli.bat
  • path/to/project: 指代填写存放小程序源码的目录地址,文件夹中需要包含有project.config.json文件


以我win10本地为例最后输入的检查命令:


"D:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat" auto --project "D:\my-miniprogram\miniprogram-demo" --auto-port 9420


看到了如下,表示安装成功,而且开发者工具也会被启动。


2384808df4344f5bab26921cc8525eab.png


如果你看到了error,也不要担心,可以直接输入y自动打开,也可以到工具里手动打开。


3d1bf58d823a4ec5b9342d12ac169bfa.png


三、代码示例


新建一段代码来试验一下。


我本地是pycharm,项目结构如下:


81e125e87532454d9e841e929a402c42.png


1. 代码内容


以下代码内容可以直接复制。


first_test.py


import minium
class ComponentTest(minium.MiniTest):
    def test_ui_op(self):
        self.page.get_element("view", inner_text="视图容器").click()
        self.page.get_element(".navigator-text", inner_text="swiper").click()
        self.page.get_elements("switch")[0].click()
        self.page.get_elements("switch")[1].click()
        print("test_ui_op执行测试")


suite.json


{
  "pkg_list": [
    {
      "case_list": [
        "test_*"
      ],
      "pkg": "testmodule1.*_test"
    }
  ]
}


config.json


这里替换上你自己本地的对应路径。


{
  "project_path": "D:\\my-miniprogram\\miniprogram-demo",
  "dev_tool_path": "D:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat",
  "debug_mode": "warn"
}


这里dubug我暂时改成了warn,不然控制台出的内容太多了。


2. 执行代码


在项目根目录下,输入命令:


minitest -m test.first_test -c config.json -g -s suite.json


可以看到微信开发者工具在执行代码里的动作。


1b6ae623a00844c09783f4e302670a36.gif


控制台也有对应的输出。


87585b64e5d145b89ec5043060c10b3f.png


测试完成后,开发者工具里的项目会自动关闭掉。


3. 查看测试报告


在项目中的outputs里存放了测试结果,我们可以方便的生成一份网页版的报告。


打开浏览器,访问http://localhost:12345即可查看报告。

7923826a5f79481f9dd1a093347e6543.png



测试报告的内容还是比较丰富的:


  • 数据汇总
  • 执行环境
  • 用例说明
  • 运行截图
  • 相关代码堆栈
  • 运行日志


到这里,一次简单的微信小程序UI自动化体验就完成了,后面就可以开始愉快的玩耍了。


感兴趣的童鞋点个赞吧,也欢迎关注我一起交流。


4dfbeb0bb7dd424b89d669396c779db0.gif

相关文章
|
2月前
|
人工智能 小程序 安全
小程序跨平台框架未来的发展趋势是什么?
小程序跨平台框架未来的发展趋势是什么?
352 128
|
4月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
2月前
|
数据采集 人工智能 自然语言处理
Playwright MCP 浏览器自动化框架全面解析
Playwright MCP是微软推出的开源项目,结合Playwright与MCP协议,让AI通过结构化数据直接操作浏览器。告别传统视觉识别,实现高效、精准的网页自动化,广泛应用于测试、爬虫、办公自动化等场景,大幅提升效率与可靠性。
|
3月前
|
监控 测试技术 API
n8n自动化测试教程 (1):环境搭建与初识n8n
n8n是一款开源、可视化的工作流自动化工具,测试工程师可通过拖拽节点快速构建API测试流程,实现测试编排、数据管理、自动化监控与告警等功能,提升测试效率与覆盖率。
|
5月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
5月前
|
测试技术 API C++
Playwright 自动化测试系列(7)| 第三阶段:测试框架集成​​Page Object 模式
本课程详解Playwright测试框架中的Page Object模式,通过电商登录-下单实战演示PO架构设计与高级技巧,结合Pytest实现多用户测试。重点解析PO模式提升代码复用性、降低维护成本的核心价值,并提供常见问题解决方案,助力构建高可维护性的自动化测试体系。
|
5月前
|
Java 测试技术 API
自动化测试框架深度解析与选择指南
Apache JMeter是Apache组织基于Java开发的一款压力测试工具,旨在测试软件的性能承受能力。它支持多种协议测试及功能测试,提供灵活的断言创建能力,如同创建带断言的脚本来验证程序是否返回预期结果。
|
6月前
|
人工智能 监控 数据可视化
微信养号脚本插件,全自动化工具,【autojs实现框架】
这是一套微信养号自动化脚本,包含主脚本`wechat_auto.js`和配置文件`config.json`。脚本实现自动浏览朋友圈、订阅号新闻文章及指定公众号历史文章三大功能,支持自定义滚动次数、阅读时长与运行时间等参数。特点包括随机化操作、多种浏览模式交替及完善的日志记录。配套UI模块提供可视化控制界面,方便监控任务状态与调整参数。下载地址:https://www.pan38.com/share.php?code=n6cPZ,提取码:8888(仅供学习参考)。

热门文章

最新文章