腾讯出品小程序自动化测试框架【Minium】系列(二)项目配置及测试套件使用说明

时间:2023-01-25 15:07:30

一、写在前面

真的人这一散漫惯了,收心就很难了,上午把小程序开发环境启动后,在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、目录结构

腾讯出品小程序自动化测试框架【Minium】系列(二)项目配置及测试套件使用说明

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,命令行执行体验报错的感觉!

运行结果如下:

腾讯出品小程序自动化测试框架【Minium】系列(二)项目配置及测试套件使用说明

4、批量执行测试

执行如下命令:

minitest -s suite.json -c config.json -g

运行结果如下:

腾讯出品小程序自动化测试框架【Minium】系列(二)项目配置及测试套件使用说明

测试套件的意义在于可以批量执行用例,也是我们做自动化测试首选的方式。

部分参数说明:

  • -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即可查看报告。

腾讯出品小程序自动化测试框架【Minium】系列(二)项目配置及测试套件使用说明

利用nginx的配置报告

 server {
   listen 80;
   server_name  your.domain.com;

   location / {
     alias /path/to/dir/of/report;
     index index.html;
   }
 }

四、写在最后

可能有同学看到这会觉得,与上一篇文章好像一样,有那么一丢丢不一样,加入了实际案例及运行参数举例讲解,状态算是找回来了吧!

我是六哥,关于小程序自动化测试框架的学习,我会持续更新,感觉对您有帮助,请继续关注我,帮忙星标并转发即可!