1、需求:如何进行微信小程序接口自动化
1、微信小程序的登陆流程
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
2、登录逻辑
小程序登陆需要在小程序内部调用 wx.login() 的方法拿到 code,然后去请求服务获取到 token,后续的接口才能请求。
3、需解决问题
如何获取 code 去进行token获取。
4、原理
Python 使用minium,JS 使用miniprogram-automator,这是微信官方提供的 UI 自动化测试的工具,它们的原理都是调起微信开发者工具,然后会对外提供了一个自动化测试的端口,然后它们的 API 应该都是和这个端口进行通信。
1、Miniprogram-automator 使用文档: https://developers.weixin.qq.com/miniprogram/dev/devtools/auto/quick-start.html
2、minium MiniTest 使用文档: https://minitest.weixin.qq.com/#/minium/Python/introduction/quick_start
5、运行环境
- Python 3.8及以上
- 微信开发者工具 (本文档中简称IDE)最新版本,并打开安全模式: 设置 -> 安全设置 -> 服务端口: 打开
- 微信 >= 7.0.7 (确认微信公共库版本 >= 2.7.3即可)
安装
- 自动安装
pip3 install minium
或者
pip3 install https://minitest.weixin.qq.com/minium/Python/dist/minium-latest.zip
如果需要ios真机测试, 会额外安装一些依赖库
pip3 install minium[ios] - 手动安装 下载minium安装包, 解压后进入文件夹, 运行
python3 setup.py install
环境检查
- minium安装完成后,可执行以下命令查看版本:
minitest -v - 出现如以下内容的构建信息则已安装成功
{‘version’: ‘1.1.0’, ‘revision’: ‘2fac2e36c281213874110f2088bc08c570bc1a2d’, ‘branch’: ‘master’, ‘update_at’: ‘2021-08-05 21:17:09’} - 开发者工具自动化能力检查
“path/to/cli” auto --project “path/to/project” --auto-port 9420
例:
C:\Program Files (x86)\Tencent\微信web开发者工具> .\cli.bat auto --project “D:\test-data\home-elev-master” --auto-port 9420
6、脚本开发
1、原理:Python 使用minium,使用minium.app.call_wx_method()方法调用wx.login()方法就可以获取code。
开发文档: