106 lines
3.1 KiB
Markdown
106 lines
3.1 KiB
Markdown
# Mumu 模拟器 pytest 测试框架
|
|
|
|
## 目录结构
|
|
|
|
```
|
|
mumu-pytest/
|
|
├── conftest.py # pytest配置和公共fixture
|
|
├── test_mumu.py # 测试用例
|
|
├── start.png # 启动按钮图片
|
|
├── running.png # 运行中图片
|
|
├── web.png # web按钮图片
|
|
├── web_address.png # 地址输入框图片
|
|
├── web_goon.png # 继续按钮图片
|
|
├── web_debug.png # 调试按钮图片
|
|
├── web_debug_apk.png # APK按钮图片
|
|
├── web_debug_apk_download.png # 下载按钮图片
|
|
├── web_debug_apk_open.png # 打开文件按钮图片
|
|
├── web_debug_apk_install.png # 安装按钮图片
|
|
├── web_debug_apk_run.png # 运行按钮图片
|
|
├── requirements.txt # Python依赖
|
|
└── README.md # 说明文档
|
|
```
|
|
|
|
## 安装依赖
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## 配置
|
|
|
|
在 `conftest.py` 中修改以下配置:
|
|
|
|
```python
|
|
MUMU_EXE_PATH = r"C:\Program Files\Netease\MuMu\nx_main\MuMuNxMain.exe"
|
|
MUMU_PROCESS_NAME = "MuMuNxMain.exe"
|
|
ADB_PATH = r"C:\Program Files\Netease\MuMu\shell\adb.exe"
|
|
WEB_URL = "http://192.168.3.15/"
|
|
INSTALLED_PACKAGE_NAME = "com.example.flomo_ai"
|
|
APK_DOWNLOAD_URL = "http://your-server.com/app-release.apk"
|
|
```
|
|
|
|
## 功能说明
|
|
|
|
### MumuEmulator 类
|
|
|
|
| 方法 | 说明 |
|
|
|------|------|
|
|
| `is_running()` | 检查模拟器是否运行 |
|
|
| `start()` | 启动模拟器并置顶窗口 |
|
|
| `bring_to_front()` | 将模拟器窗口置顶 |
|
|
| `find_and_click(image_name, confidence, timeout)` | 查找图片并点击 |
|
|
| `type_text(text)` | 输入文本 |
|
|
| `press_enter()` | 按回车 |
|
|
| `wait_for_boot(timeout)` | 等待模拟器启动完成 |
|
|
| `check_image_exists(image_name)` | 检查图片是否存在 |
|
|
| `run_sequence()` | 按顺序执行任务 |
|
|
| `close()` | 关闭模拟器 |
|
|
|
|
### AdbHelper 类
|
|
|
|
| 方法 | 说明 |
|
|
|------|------|
|
|
| `exec_cmd(*args)` | 执行ADB命令 |
|
|
| `install_apk(apk_path)` | 安装APK |
|
|
| `uninstall_app(package_name)` | 卸载应用 |
|
|
| `launch_app(package_name, activity)` | 启动应用 |
|
|
| `is_app_installed(package_name)` | 检查应用是否已安装 |
|
|
| `pull_file(remote_path, local_path)` | 从模拟器拉取文件 |
|
|
|
|
## 测试流程 (run_sequence)
|
|
|
|
1. 置顶模拟器窗口
|
|
2. 等待30秒
|
|
3. 点击 web.png
|
|
4. 检测 web_address.png 出现后,输入 URL (http://192.168.3.15/)
|
|
5. 点击 web_goon.png
|
|
6. 点击 web_debug.png
|
|
7. 点击 web_debug_apk.png
|
|
8. 点击 web_debug_apk_download.png
|
|
9. 点击 web_debug_apk_open.png
|
|
10. 点击 web_debug_apk_install.png
|
|
11. 点击 web_debug_apk_run.png
|
|
|
|
## 运行测试
|
|
|
|
```bash
|
|
# 运行所有测试
|
|
pytest
|
|
|
|
# 运行指定测试
|
|
pytest test_mumu.py::test_start_emulator_sequence
|
|
pytest test_mumu.py::test_run_sequence
|
|
|
|
# 显示详细输出
|
|
pytest -v -s
|
|
```
|
|
|
|
## 注意事项
|
|
|
|
1. 确保MuMu模拟器已正确安装
|
|
2. 需要先截取各个步骤对应的图片放入 mumu-pytest 目录
|
|
3. pyautogui需要配置合适的置信度(默认0.8)和超时时间
|
|
4. 确保模拟器路径和ADB路径正确
|
|
5. 测试图片文件名不要包含空格,使用下划线分隔
|