腾讯出品小程序自动化测试框架【Minium】系列(二)项目配置及测试套件使用说明
一、写在前面
真的人这一散漫惯了,收心就很难了,上午把小程序开发环境启动后,在QQ游戏里,杀了三把象棋,5把2D桌球,一上午没了,还是没法心静下来去学点东西。
那就老样子,逼着自己开始,找到 “肌肉记忆” 自然也就可以静下心去思考问题了。
二、搞定配置项
1、配置文件部分
示例如下:
{
"project_path": "D:\\pyworkspace\\miniprogram-demo",
"dev_tool_path": "E:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat",
"debug_mode": "warn"
}
这里很多参数没写,即走默认的配置项,关于详细的测试配置说明,请参看官方文档说明
2、命令行工具
测试用例既可以用unittest的方式执行,也可以用minitest来加载用例执行,相关的参数说明如下:
minitest 命令
- -h, --help: 使用帮助。
- -v, --version: 查看 minium 的版本。
- -p PATH/--path PATH: 用例所在的文件夹,默认当前路径。
- -m MODULE_PATH, --module MODULE_PATH: 用例的包名或者文件名
- --case CASE_NAME: test_开头的用例名
- -s SUITE, --suite SUITE:就是suite.json文件,文件的格式如下:
{
"pkg_list": [
{
"case_list": [
"test_*"
],
"pkg": "test_case.*_test"
}
]
}
说明:
- pkg_list字段说明要执行用例的内容和顺序,是一个数组,每个数组元素是一个匹配规则,会根据pkg去匹配包名,找到测试类,然后
- 根据case_list里面的规则去查找测试类的测试用例。可以根据需要编写匹配的粒度。注意匹配规则不是正则表达式,而是通配符。
三、入门栗子
1、目录结构

2、编写第一个case
# -*- coding: utf-8 -*-
"""
# @Time : 2023/01/25 12:49
# @Author : longrong.lang
# @FileName: sysinfo_test.py
# @Software: PyCharm
# @Blog :https://www.cnblogs.com/longronglang/
# @Motto:ABC(Always Be Coding)
"""
import minium
class SysInfoTest(minium.MiniTest):
def test_sysinfo(self):
sys_info = self.mini.get_system_info()
print(sys_info)
self.assertIn("SDKVersion", sys_info)
3、运行单个case
执行如下命令:
minitest -m test_case.sysinfo_test -c config.json -g
重点:
测试用例的命名,一定要casename_test,否则不好使,不信你可以写成test_casename,命令行执行体验报错的感觉!
运行结果如下:

4、批量执行测试
执行如下命令:
minitest -s suite.json -c config.json -g
运行结果如下:

测试套件的意义在于可以批量执行用例,也是我们做自动化测试首选的方式。
部分参数说明:
- -c CONFIG, --config CONFIG:配置文件名,配置项目参考配置文件
- -g, --generate: 生成网页测试报告
- --module_search_path [SYS_PATH_LIST [SYS_PATH_LIST ...]] : 添加 module 的搜索路径
- -a, --accounts: 查看开发者工具当前登录的多账号, 需要通过 9420 端口,以自动化模式打开开发者工具
- --mode RUN_MODE: 选择以
parallel(并行, 每个账号从队列中取一个pkg运行, 完成后取下一个)或者fork(复刻, 每个帐号都跑全部的pkg)的方式运行用例 - --task-limit-time: 任务超时时间,如果到期还没跑完测试,直接终止测试进程. 单位: s
更多命令行参数请参考命令行工具
5、生成测试报告
本地报告
执行如下命令:
python -m http.server 12345 -d outputs
打开浏览器,访问http://localhost:12345即可查看报告。

利用nginx的配置报告
server {
listen 80;
server_name your.domain.com;
location / {
alias /path/to/dir/of/report;
index index.html;
}
}
四、写在最后
可能有同学看到这会觉得,与上一篇文章好像一样,有那么一丢丢不一样,加入了实际案例及运行参数举例讲解,状态算是找回来了吧!
我是六哥,关于小程序自动化测试框架的学习,我会持续更新,感觉对您有帮助,请继续关注我,帮忙星标并转发即可!
腾讯出品小程序自动化测试框架【Minium】系列(二)项目配置及测试套件使用说明的更多相关文章
- 小程序第三方框架对比 ( wepy / mpvue / taro )(转)
文章转自 https://www.cnblogs.com/Smiled/p/9806781.html 众所周知如今市面上端的形态多种多样,手机Web.ReactNative.微信小程序, 支付宝小程 ...
- 小程序第三方框架对比 ( wepy / mpvue / taro )
众所周知如今市面上端的形态多种多样,手机Web.ReactNative.微信小程序, 支付宝小程序, 快应用等,每一端都是巨大的流量入口,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端 ...
- 微信小程序自动化测试最佳实践(附 Python 源码)
本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程 ...
- minium-微信小程序自动化框架-python,官方文档
minium文档 个人将其部署到了自己的服务器上,如有需要可以访问共同学习这个minium 用python来实现小程序自动化测试... 文档地址 http://49.232.203.244:3000/ ...
- 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app
微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...
- 微信小程序自动化测试--接口测试
偷得一篇文章: postman测试微信小程序接口---postman https://www.sunzhongwei.com/using-the-postman-test-wechat-mini-ap ...
- appium+java(五)微信小程序自动化测试实践
前言: 上一篇<appium+java(四)微信公众号自动化测试实践>中,尝试使用appium实现微信公众号自动化测试,接着尝试小程序自动化,以学院小程序为例 准备工作 1.java-cl ...
- [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息
因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...
- (转)快速了解微信小程序的使用,一个根据小程序的框架开发的todos app
微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...
- 微信小程序 wafer2框架摘要
微信小程序 wafer2框架摘要 帮助文档:https://github.com/tencentyun/wafer2-startup/wiki 使用了knex.js进行数据库交互,使用了koa.js进 ...
随机推荐
- Spark简单介绍,Windows下安装Scala+Hadoop+Spark运行环境,集成到IDEA中
一.前言 近几年大数据是异常的火爆,今天小编以java开发的身份来会会大数据,提高一下自己的层面! 大数据技术也是有很多: Hadoop Spark Flink 小编也只知道这些了,由于Hadoop, ...
- JS 学习笔记 (六) 函数式编程
1.函数闭包 1.1 概述 JavaScript采用词法作用域,函数的执行依赖于变量作用域,这个作用域是在函数定义时决定的,而不是函数调用时决定的. 为了实现这种词法作用域,JavaScript函数对 ...
- 2流高手速成记(之七):基于Dubbo&Nacos的微服务简要实现
本节内容会用到之前给大家讲过的这两篇: 2流高手速成记(之六):从SpringBoot到SpringCloudAlibaba 2流高手速成记(之三):SpringBoot整合mybatis/mybat ...
- 2022,一个Java程序猿的外设配置
工欲善其事,必先利其器. 是的没错,我就是个器材党,哈哈.正赶上搬家布置了新桌面,经过我的精心挑选和安装,也是凑齐了我新一套的桌面外设.写下来记录一下. 键盘 套件:腹灵MK870 轴体:佳达隆G白P ...
- P6492 STEP(线段树维护左右区间pushup)
题目链接 题目描述: 给定一个长度为\(~\)n\(~\)的字符序列\(~\)a,初始时序列中全部都是字符\(~\)L. 有\(~\)q\(~\)次修改,每次给定一个\(~\)x,做出如下变化: \( ...
- 2.3 Goland快捷键
1 新建 Alt + Insert Alt + Enter 2 移动 Alt + 上下箭头:以函数为单位移动 Ctrl + G : 定位到行 Ctrl + W :可以选择单词继而语句继而行继而函数Ct ...
- Python基础之数据库:2、MySQL的下载与安装、基本使用、系统服务制作
目录 一.MySQL简介 二.安装与下载 1.下载流程 2.配置环境变量 三.主要目录介绍 四.基本使用 五.系统服务的制作 六.密码相关 1.修改管理员密码 2.忘记密码 一.MySQL简介 M ...
- vue阻止向上和向下冒泡
阻止向下冒泡 <div class="content" @click.self="cancelFunc"></div> 阻止向上冒泡 & ...
- VMware ESXi 8.0 SLIC & Unlocker 集成网卡驱动和 NVMe 驱动 (集成驱动版)
发布 ESXi 8.0 集成驱动版,在个人电脑上运行企业级工作负载 请访问原文链接:VMware ESXi 8.0 SLIC & Unlocker 集成网卡驱动和 NVMe 驱动 (集成驱动版 ...
- 帮你短时间拿下Git,Git详细教程(浓缩的都是精华)
Git学习笔记 Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 在团队开发中git是必不可少的,它是目前为止最流行的版本控制工具 Git是免费.开源的,由Li ...