SuperAPI AI 工具集

axe-simulator-control

设计与创作

查看项目

更新于 10-16 01:33

技能介绍

用途:该技能用于自动化 iOS 模拟器交互,适合在需要模拟点击、手势、文本输入、硬件按键或录制模拟器视频的场景中使用。

主要能力:支持按坐标点击(axe tap -x -y,可配 --pre-delay/--post-delay),文本输入(axe type),滚动与边缘滑动等手势(axe gesture scroll-up、swipe-from-left-edge 等),硬件按键(axe button home/lock/volume-up/volume-down/siri,lock 可配 --duration),以及视频串流(axe stream-video)与录制(axe record-video)。可用 axe list-simulators 查找模拟器 UDID。

使用方式:先安装 AXe:brew tap cameroncooke/axe && brew install axe。多数命令需要模拟器 UDID,模拟器须已启动。坐标获取建议使用 axe describe-ui 读取无障碍树,而不是凭截图估算,屏幕坐标原点在左上角。文本输入前需先点击聚焦输入框,特殊字符建议用单引号包裹。录制视频用 --fps 与 --output 指定帧率和文件,Ctrl+C 停止;串流输出 MJPEG。

适用场景:自动化测试、模拟用户交互、测试应用生命周期事件、为文档录制演示视频。

限制:SwiftUI 的现代 TabView(iOS 18+)不会在无障碍层级暴露单独标签按钮,describe-ui 中标签栏显示为无子元素的 AXGroup,需按 Tab Bar 框架估算坐标点击,或改用 XCUITest、自定义无障碍标识、深链。部分 SwiftUI 组件无障碍暴露有限,交互前应先用 describe-ui 验证。tap 命令不支持 --duration 长按,需用 --pre-delay/--post-delay 控制时序。VivaDicta 项目默认模拟器为 iPhone 17 Pro Max,OS=26.4;截图建议保存到 llmtemp/screenshots/。常见故障可检查模拟器是否已启动(xcrun simctl list | grep Booted)、UDID 是否正确、坐标是否来自 describe-ui。