SuperAPI AI 工具集

axe

编程与开发

查看项目

更新于 10-15 19:54

技能介绍

用途:axe 用于通过辅助功能 API 控制 iOS 模拟器,实现 UI 自动化与测试,适合需要模拟点击、输入、滑动等交互的场景。

主要能力:axe describe-ui 可获取完整辅助功能树以查找元素;axe tap 支持按辅助功能标签(--label,优先)、标识符(--id)或坐标(-x/-y)点击;axe type 输入文本;axe swipe 滑动;axe button 触发 home、lock 等硬件键。截图通过 xcrun simctl io 完成。

使用方式:前置条件为安装 Xcode 与 iOS Simulator,并确保 axe CLI 在 PATH 中。多模拟器运行时始终使用显式 UDID,可用 xcrun simctl list devices available 或 booted 查看,用 xcrun simctl boot "iPhone 17 Pro" 启动、xcrun simctl shutdown booted 关闭。推荐流程:先获取已启动模拟器 UDID,再用 axe describe-ui --udid <UDID> 探索辅助功能树,优先按 --label 点击,无标签元素回退到坐标,动画或转场动作之间加 sleep 0.5,最后用 xcrun simctl io 截图验证状态。

限制与注意事项:axe swipe 必须使用 --start-x/--start-y/--end-x/--end-y,而非 --from-x/--to-x;simctl 的 io 仅支持截图和录屏,触摸与滑动输入需用 axe;打开 sheet 后立即点击内部按钮需加 sleep 0.5;多模拟器时不要用 booted 而要用显式 UDID;iOS 26+ 上 axe 点击可能无法可靠触发 SwiftUI Toggle,需手动测试;CODE_SIGNING_ALLOWED=NO 会阻止 HealthKit 等 entitlements 生效,依赖 entitlements 的功能需用 ad-hoc 签名;若 describe-ui 返回空树(frame {0,0,0,0} 且无子节点)而应用可见,说明模拟器状态异常,可 shutdown 后重新 boot 修复;标签栏项通常需用坐标点击,标准 iPhone 尺寸下 y 约 832。