核心用法
ATL (Agent Touch Layer) 是专为 iOS Simulator 设计的 HTTP 自动化层,通过双端口架构实现对移动端浏览器(Safari)与原生应用的双模控制:
- Browser Server (9222):面向移动网页自动化,支持
goto导航、markElements标记交互元素、clickMark按标记点击、JavaScript 注入等标准浏览器操作 - Native Server (9223):面向任意 iOS 原生应用,基于 XCTest 的 accessibility tree 实现
openApp启动应用、snapshot获取可交互元素树、find/tapRef精准定位点击
典型工作流:启动 Simulator → 部署 AtlBrowser 应用 → HTTP API 控制页面导航/应用启动 → markElements 或 snapshot 获取元素坐标 → 精准点击/输入/截图 → 验证状态。
显著优点
1. Vision-Free 自动化:独创 markElements + captureForVision 组合,为页面元素自动添加数字标记并返回带文本层的 PDF,AI 无需调用视觉模型即可获知"元素在哪里"与"页面上写了什么",显著降低 token 成本与延迟
2. 双模统一架构:同一套 HTTP API 同时覆盖浏览器与原生应用,无需切换工具链
3. 坐标级确定性:基于标记系统的像素级坐标(x,y)点击,避免视觉模型对按钮边界的误判,同一页面结果可复现
4. 零侵入测试:基于 iOS accessibility tree,无需修改被测应用源码即可自动化任意 App
潜在缺点与局限性
- macOS/Xcode 强依赖:仅能在 macOS 环境运行,需完整 Xcode 工具链与 iOS Simulator,Windows/Linux 用户无法直接使用
- 部署门槛较高:首次使用需克隆仓库、编译 Swift 项目、配置模拟器 UDID,对非 iOS 开发者不够友好
- 稳定性风险:
goto导航存在已知问题(文档明确标注需用 JS 注入替代),Simulator 状态异常时需手动重启应用 - 模拟器局限:无法操作真机,部分依赖硬件传感器的场景(相机、GPS 精确定位)无法完整还原
适合人群
- iOS/macOS 开发者进行移动端自动化测试
- AI Agent 研究者需要低成本、高确定性的移动端交互环境
- 需要同时验证 Web 与原生 App 行为的跨平台测试场景
常规风险
1. 网络端口暴露:9222/9223 端口监听本地,多用户共享 macOS 环境时需防范端口冲突与未授权访问
2. Simulator 状态漂移:长期运行后可能出现内存泄漏或应用无响应,建议工作流中加入健康检查与自动重启机制
3. API 变动风险:项目处于活跃开发期(GitHub 仓库),HTTP API schema 可能随版本迭代调整