# MiniumProject **Repository Path**: afraidbenq/MiniumProject ## Basic Information - **Project Name**: MiniumProject - **Description**: 小程序云测项目 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-12-22 - **Last Updated**: 2024-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MiniumProject ### 介绍 minium 是为小程序专门开发的自动化框架。使用 minium 可以进行小程序 UI 自动化测试, 但是 minium 的功能不止于仅仅是 UI 自动化, 甚至可以使用 minium 来进行函数的 mock, 可以直接跳转到小程序某个页面并设置页面数据, 做针对性的全面测试, 这些都得益于我们开放了部分小程序 API 的能力。除此之外,小程序有部分组件使用了系统原生的组件,对于这部分的组件,我们也基于 uiautomator 和 wda 做了补充。 https://minitest.weixin.qq.com/#/minium/Python/readme ### 运行环境 - Python 3.8及以上 - 微信开发者工具 (本文档中简称IDE)最新版本,并打开安全模式: 设置 -> 安全设置 -> 服务端口: 打开 - 微信 >= 7.0.7 (确认微信公共库版本 >= 2.7.3即可) ### 必要的知识 本框架与开发者工具有强关联,如果你之前对开发者工具没有基本的了解,可以点击下面的链接了解一些必要的知识: - Python3 官网文档 简单教程 - 开发者工具 - 开发者工具的界面 - 真机调试 - 命令行调用 - 路径说明 - path/to/project: 指代填写存放小程序源码的目录地址,文件夹中需要包含有project.config.json文件 - path/to/cli: 指代开发者工具cli命令路径。macOS: <安装路径>/Contents/MacOS/cli, Windows: <安装路径>/cli.bat ### 安装 1. pip3 install minium ### 环境检查 1. minium安装完成后,可执行以下命令查看版本: ``` minitest -v 出现如以下内容的构建信息则已安装成功 {'version': '1.1.0', 'revision': '2fac2e36c281213874110f2088bc08c570bc1a2d', 'branch': 'master', 'update_at': '2021-08-05 21:17:09'} ``` 2. 开发者工具自动化能力检查 ``` "path/to/cli" auto --project "path/to/project" --auto-port 9420 "path/to/cli" = C:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat "path/to/project" = C:/Sourcetree/user_applet 最终执行命令 cd C:\Program Files (x86)\Tencent\微信web开发者工具 cli --auto C:/Sourcetree/user_applet --auto-port 9420 路径参考必要的知识 有类似以下log并且开发者工具上有以下提示的则通过,否则根据提示和开发者工具文档调试解决 ``` ![img.png](img/img.png) ![img_1.png](img/img_1.png) ### 开始使用 以下是参考代码,输出system_info ``` import minium mini = minium.Minium({ "project_path": "path/to/project", # 替换成你的【小程序项目目录地址】 "dev_tool_path": "path/to/cli", # 替换成你的【开发者工具cli地址】,macOS: <安装路径>/Contents/MacOS/cli, Windows: <安装路径>/cli.bat }) print(mini.get_system_info()) ``` 输出内容类似以下 ``` {'model': 'iPhone 5', 'pixelRatio': 2, 'windowWidth': 320, 'windowHeight': 456, 'system': 'iOS 10.0.1', 'language': 'zh_CN', 'version': '8.0.5', 'screenWidth': 320, 'screenHeight': 568, 'SDKVersion': '2.16.0', 'brand': 'devtools', 'fontSizeSetting': 16, 'benchmarkLevel': 1, 'batteryLevel': 71, 'statusBarHeight': 20, 'safeArea': {'top': 20, 'left': 0, 'right': 320, 'bottom': 568, 'width': 320, 'height': 548}, 'deviceOrientation': 'portrait', 'platform': 'devtools', 'enableDebug': False, 'devicePixelRatio': 2} ``` ### 命令行 使用命令行执行测试case ``` cd .\user_applet\ minitest -m test -c config.json -g ``` ### 更多能力 - 更多的配置信息参考项目配置 - 以上是minium接口的基本用法,minium还集成了测试框架,给你提供更多的测试能力。详情见测试进阶 - 更多用例和测试小程序demo点击前往 - 开发者还可以使用云真机测试服务来完成更多的定制测试任务 ### 常见问题排查 1. 开发者工具没有自动打开, 先排查开发者工具自动化能力,进行环境检查 2. 配置了真机环境但无法拉起真机上的小程序,排查是否使用了真机调试2.0, 如果是,切换回真机调试1.0 3. 报错traceback中有出现 _miniClassSetUp 的调用,确认下开发者工具上选用的基础库是最新的: 开发者工具项目窗口右上角 -> 详情 -> 本地设置 -> 调试基础库