用途:在 iOS 模拟器与 Android 模拟器/设备上执行移动应用自动化测试,覆盖 UI 交互、导航流程、手势操作与平台特定行为;适用于需要专门移动端测试的场景,触发词如“test mobile app”。
主要能力:支持 Appium、Detox(React Native)、XCUITest(iOS 原生)、Espresso(Android 原生)与 Maestro 跨平台测试;可覆盖点击与导航、文本输入(键盘、自动补全、粘贴)、滚动与懒加载、下拉刷新、滑动、双指缩放、长按、拖放等手势;以及权限弹窗、推送通知、深度链接等系统交互。平台特性方面,iOS 关注安全区域、刘海、Dynamic Type、VoiceOver,Android 关注返回键、多窗口、TalkBack,二者均覆盖横竖屏旋转、深色模式、低电量模式。支持按设备/系统组合定义能力集、用标签(@ios、@android)选择子集运行、失败截图,并处理动画、加载与系统弹窗等待。结果可输出 JUnit XML 或 Allure 报告,并配置 CI(iOS 用 GitHub Actions macOS runner,Android 用 Linux)。
必要用法:先准备环境——安装移动测试框架,准备 Xcode iOS 模拟器或 Android SDK 模拟器,备好构建产物(.app、.apk、.ipa)或 React Native 打包开发服务器,使用 Appium 时安装对应驱动(Android 的 uiautomator2、iOS 的 xcuitest),JavaScript 测试运行器需 Node.js。随后列出目标设备与系统版本,构建应用(xcodebuild、./gradlew assembleDebug 或 npx react-native build),启动或连接设备并安装应用,再编写并运行测试。例如 Detox 可按平台执行 npx detox test --configuration ios.sim.debug。测试文件通常按功能/流程组织在 tests/mobile/ 或 e2e/。
限制与错误处理:环境需满足前置条件,模拟器启动失败可清理派生数据、重置模拟器或重建 AVD;应用启动崩溃需检查最低部署目标、权限与签名;元素找不到建议用可访问性 ID 替代 XPath 并加显式等待;CI 上不稳定可增大超时或关闭动画;系统权限弹窗可用 xcrun simctl 或 ADB 预授权或自动关闭。资料未提供具体收费、平台覆盖范围之外的说明。