目录

1、简介

2、测试环境搭建

2.1 安装微信开发者工具

 2.2 安装minium

3、入门

3.1 编辑配置文件

3.2 编写测试用例

3.3 运行测试用例


1、简介

minium是为微信小程序开发的自动化框架。

minium提供了一个测试框架MiniTest,此框架是基于unittest开发的,继承了unittest.TestCase类,所以也可以使用unittest中的各种断言方法。

2、测试环境搭建

2.1 安装微信开发者工具

第一步、下载微信开发者工具(地址:微信开发者工具下载地址与更新日志 | 微信开放文档),下载稳定版即可。

微信小程序自动化测试python python 微信小程序自动化_微信小程序自动化测试python

第二步、安装微信开发者工具,与其他软件安装过程类似,略。

第三步、打开微信开发者工具,选择“小程序”,点击“+”(添加)按钮。

微信小程序自动化测试python python 微信小程序自动化_Test_02

 第四步、输入项目名称,选择小程序代码目录、AppID,选择不使用云服务,点击“确定”按钮。

微信小程序自动化测试python python 微信小程序自动化_Test_03

 第五步、提交之后会自动运行小程序,若出现信任弹窗,点击“信任并运行”按钮。

微信小程序自动化测试python python 微信小程序自动化_微信开发者工具_04

第六步、进入项目界面后,点击菜单栏的设置-->安全设置,启用服务端口。

微信小程序自动化测试python python 微信小程序自动化_Test_05

 2.2 安装minium

minium的安装比较简单,直接使用pip即可。

# 1.安装
pip install minium
# 2.检查版本
minitest -v
# 结果:{'version': '1.3.2', 'revision': 'bbcfcb87d8258a28d75bf6188d75cbe2f783fd63', 'branch': 'master', 'update_at': '2023-02-08 11:39:51'}
# 3.微信开发者自动化能力检查
D:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat auto --project E:\Projects\wx_app --auto-port 9420
# 出现以下结果时表示通过
# √ IDE server has started, listening on http://127.0.0.1:10045
# √ Using AppID: wx438c6f3ceb361290
# √ auto

3、入门

3.1 编辑配置文件

小程序自动化测试用例的运行依赖于配置文件,文件名为config.json。

  • project_path:小程序项目代码的路径
  • dev_tool_path:小程序IDE cli的路径
  • Windows默认路径:C:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat
  • MacOS默认路径:/Applications/wechatwebdevtools.app/Contents/MacOS/cli
  • platform:运行平台,可选ide、Android、iOS,默认值为IDE
  • debug_mode:日志级别,可选error、warn、info、debug,默认值为info
  • test_port:监听端口,默认为9420
{
  "project_path": "E:\\Projects\\wx_app",
  "dev_tool_path": "D:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat"
}

3.2 编写测试用例

测试用例的编写方法与Selenium、Appium等工具用法类似,也是先查找元素(get_element),然后进行操作(click、input等)。

import minium
import time
import unittest


class Test(minium.MiniTest):
    """测试"""
    def test_login(self):
        """登录测试"""
        # 进入登录页
        self.app.navigate_to('/login/index')
        # 点击登录按钮
        self.page.get_element('.login-btn').click()
        # 输入手机号
        self.page.get_element('.input-mobile').input('13012345678')
        # 输入验证码
        self.page.get_element('.input-code').input('123456')
        time.sleep(2)


if __name__ == '__main__':
    unittest.main()

3.3 运行测试用例

方式一:如上图所示,在测试文件最后加入以下代码后,运行该测试文件。(因MiniTest继承了unittest.TestCase,所以可以直接使用此方法)

if __name__ == '__main__':
    unittest.main()

方式二:命令行使用minitest命令执行测试。

参数:

  • -m:包名
  • -c:配置文件
minitest.exe -m test -c config.json -g

以上就是使用Python+minium实现微信小程序自动化测试的入门操作。