用途:在 iOS 模拟器上做自动化测试与闭环调试,通过截图、录屏和日志做视觉验证,覆盖推送通知、位置模拟、权限、深链、无障碍与网络条件等场景。
主要能力:用 xcrun simctl 完成设备列举与启动、截图(xcrun simctl io booted screenshot)、录屏(recordVideo)、位置设置(xcrun simctl location booted set)、推送(xcrun simctl push)、权限授予与重置(xcrun simctl privacy)、深链(openurl)、应用生命周期(launch/terminate/install)、日志流(simctl spawn booted log stream)、应用清单与容器路径、诊断(simctl diagnose)等。状态栏可用 devicectl 预设或 simctl status_bar override,需先 clear 再 override 并读回校验。生物识别(Face ID/Touch ID)与方向、内存警告等设备状态通过 devicectl 操作。UI 自动化依赖 AXe,经 xcui doctor 预检,可用 xcui tap/type/swipe/gesture/button/key 及 axe describe-ui 获取无障碍标识;xcui 还提供 wait、assert 与无障碍设置(dynamic-type、reduce-motion 等)。网络条件有两条免 sudo 路径:默认在进程内注册限流 URLProtocol;可选 toxiproxy 代理路径,未安装时需说明并回退。
使用方式:先检查并启动模拟器,优先读取 .axiom/preferences.yaml 中保存的设备;配置场景后执行操作,等待约 2 秒再截图,采集证据并分析,最后按固定格式报告实际与预期结果。多个模拟器已启动时须显式指定 --udid。
限制:AXe、toxiproxy 等工具可能未安装,需按提示安装或回退;tap 输出 ✓ 不代表操作生效,需用断言验证;部分 simctl 与 devicectl 参数拼写不通用;sudo 的 dnctl/pfctl 仅作最后手段。具体收费、平台支持范围等资料暂未提供。