移动应用自动化测试与评估
通过 adb / xcrun simctl / Maestro 操控 Android 和 iOS 设备,自动化执行应用安装、性能分析、日志崩溃检测、E2E 测试和视觉回归检测。零依赖,仅需 Python 3 标准库。
FEATURES
统一列出 Android 真机/模拟器 + iOS 模拟器/真机。一条命令查看全部设备状态。
自动执行冷启动时间、内存、CPU、帧率多次采样,输出统计报告(mean ± stddev)。
过滤应用日志,自动识别 Java Crash / Native Crash / ANR / OOM 模式并输出上下文。
生成和执行声明式 YAML 测试流程。跨平台、无编译、文本/ID 定位优先。
截图对比:优先使用 ImageMagick 像素级 diff,零依赖回退到文件大小启发式。
所有脚本仅使用 Python 3 标准库。底层工具 adb/simctl 为系统自带。
REFERENCE
跨平台设备发现
| 命令 | 说明 | 示例 |
|---|---|---|
devices | 列出所有设备 | ./mt devices |
devices --json | JSON 输出 | ./mt devices --json |
devices --platform | 按平台过滤 | ./mt devices --platform android |
多次采样 + 统计报告
| 命令 | 说明 | 示例 |
|---|---|---|
perf | 性能采集 | ./mt perf --package com.example.app --platform android --samples 5 |
--output | 保存报告 | ./mt perf --package com.example.app --platform android --output /tmp/report.md |
--json | 原始数据 | ./mt perf --package com.example.app --platform android --json |
截图 / 录屏 / 视觉回归
| 命令 | 说明 | 示例 |
|---|---|---|
capture | 截图 | ./mt capture --platform android --output /tmp/screenshot.png |
--record | 录屏 | ./mt capture --platform android --record --duration 10 |
--compare | 截图对比 | ./mt capture --compare /tmp/before.png /tmp/after.png --threshold 0.01 |
崩溃 / ANR / OOM 自动检测
| 命令 | 说明 | 示例 |
|---|---|---|
logs | 日志采集+分析 | ./mt logs --package com.example.app --platform android --duration 30 |
--output | 保存报告 | ./mt logs --package com.example.app --platform android --output /tmp/crash.md |
| # | 工作流 | 说明 |
|---|---|---|
| 1 | 设备发现 | 统一列出 Android + iOS 所有设备/模拟器 |
| 2 | 应用快速评估 | 安装 → 启动 → 截图 → 性能 → 报告 |
| 3 | E2E 测试 | Maestro YAML 生成与执行 |
| 4 | 性能深度分析 | 多次采样 + 统计(mean ± stddev) |
| 5 | 日志与崩溃分析 | 实时日志 + 崩溃/ANR/OOM 检测 |
| 6 | 视觉回归 | 截图像素级对比 + 阈值判定 |
| 工具 | 用途 | 安装 |
|---|---|---|
adb | Android 设备操控 | Android SDK Platform-Tools |
xcrun simctl | iOS 模拟器操控 | Xcode (macOS) |
maestro | E2E 测试框架 | curl -Ls https://get.maestro.mobile.dev | bash |
缺少工具时自动跳过对应平台操作,不会阻断其他功能。
技能内置详细命令速查(Agent 按需读取):
references/android_commands.md — Android adb 完整命令参考references/ios_commands.md — iOS simctl 完整命令参考references/maestro_guide.md — Maestro E2E 编写指南 + 流程模板INSTALL