# 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. 测试图片文件名不要包含空格,使用下划线分隔