SuperAPI AI 工具集

outside-in-testing-ios-apps

测试与质量

查看项目

更新于 10-16 06:48

技能介绍

用途:在 iOS 模拟器中对 App 进行由外向内的黑盒验收测试,无需访问源码内部,通过截图、无障碍树读取和模拟交互来验证界面行为与核心用户流程。

前提与安装:先执行 brew install cameroncooke/axe/axe,并确保模拟器已启动、被测 App 正在运行。

主要能力:观察方面可用 axe screenshot --udid {UDID} --output /tmp/screen.png 截图,axe describe-ui --udid {UDID} 读取无障碍树,axe describe-ui --point 100,200 --udid {UDID} 检查特定坐标。交互方面支持按无障碍标签点击 axe tap --label "Login" --udid {UDID}、按标识符点击 axe tap --id "loginButton" --udid {UDID}、按坐标点击 axe tap -x 200 -y 400 --udid {UDID};输入文本 axe type 'user@example.com' --udid {UDID},也可从 stdin 或文件输入;滚动手势 axe gesture scroll-down --udid {UDID};滑动 axe swipe --start-x 200 --start-y 500 --end-x 200 --end-y 200 --duration 0.3 --udid {UDID};带延迟的触摸 axe touch -x 150 -y 250 --down --up --delay 1.0 --udid {UDID};按键 axe key 40 --udid {UDID} 及按键序列 axe key-sequence --keycodes 11,8,15,15,18 --udid {UDID};home 键与 Siri 按钮。还提供 scroll-up/down/left/right、从各边缘滑动等预设手势,并可用 --screen-width 与 --screen-height 指定屏幕尺寸。

使用方式:先用 axe list-simulators 找到 Booted 模拟器并记录 UDID,随后按“截图 → 描述 UI → 交互 → 验证”的循环推进。为减少动画或加载导致的抖动,可用 --pre-delay、--post-delay、--duration 控制时序。

诊断与完成标准:App 行为异常时可用 xcrun simctl spawn booted log stream 或 log show 拉取日志,检查 ~/Library/Logs/DiagnosticReports 下的崩溃日志;React Native 应用另有专门调试技能。测试完成标准包括启动与首屏验证、核心流程走通、关键交互元素响应正常、无崩溃或未处理错误,并记录可用与失败项及原因。