Files
flomo-ai/mumu-pytest/README.md

106 lines
3.1 KiB
Markdown
Raw Normal View History

2026-03-10 22:31:30 +08:00
# 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"
2026-03-10 22:31:30 +08:00
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"
2026-03-10 22:31:30 +08:00
```
## 功能说明
### 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
2026-03-10 22:31:30 +08:00
## 运行测试
```bash
# 运行所有测试
pytest
# 运行指定测试
pytest test_mumu.py::test_start_emulator_sequence
pytest test_mumu.py::test_run_sequence
2026-03-10 22:31:30 +08:00
# 显示详细输出
pytest -v -s
```
## 注意事项
1. 确保MuMu模拟器已正确安装
2. 需要先截取各个步骤对应的图片放入 mumu-pytest 目录
3. pyautogui需要配置合适的置信度(默认0.8)和超时时间
2026-03-10 22:31:30 +08:00
4. 确保模拟器路径和ADB路径正确
5. 测试图片文件名不要包含空格,使用下划线分隔