iOS 自动化支持
Midscene 可以驱动 WebDriver 工具来支持 iOS 自动化。
由于适配了视觉模型方案,整个自动化过程可以适配任意的 App 技术栈,无论是 Native、Flutter 还是 React Native 构建的 App 或小程序都能使用。开发者只需面向最终效果调试 UI 自动化脚本即可。
iOS UI 自动化方案具备 Midscene 的全部特性:
- 支持使用 Playground 进行零代码试用。
- 支持 JavaScript SDK。
- 支持使用 YAML 格式的自动化脚本与命令行工具。
- 支持生成 HTML 报告回放所有操作路径。
案例展示
Prompt : 打开美团,帮我下单一杯 manner 超大杯冰美式咖啡,要加浓少冰喔,到结算页面让我确认
查看此次任务的完整报告:report.html
Prompt : Open Twitter and auto-like the first tweet by @midscene_ai
查看此次任务的完整报告:report.html
查看更多案例:showcases
关于 WebDriverAgent
WebDriver 是 W3C 制定的浏览器自动化标准协议,提供统一的 API 来控制不同的浏览器和应用。该协议定义了客户端与服务端之间的通信方式,使自动化工具能跨平台地操纵各种界面。
得益于 Appium 团队以及其他开源社区的努力,业界已经出现了多个优秀的库,将桌面端和移动端的操作转化为 WebDriver 协议,例如:
- Appium —— 跨平台移动自动化框架
- WebDriverAgent —— 专注于 iOS 设备自动化的服务
- Selenium —— Web 浏览器自动化工具
- WinAppDriver —— Windows 应用自动化工具
Midscene 适配 WebDriver 协议,这意味着开发者可以在任何支持 WebDriver 的设备上使用 AI 模型执行智能自动化操作。通过该设计,Midscene 不仅能完成点击、输入等传统操作,还可以:
- 理解界面内容与上下文
- 执行复杂的多步骤操作
- 进行智能断言与验证
- 提取并分析界面数据
在 iOS 平台上,Midscene 通过 WebDriverAgent 连接 iOS 设备,让你可以用自然语言描述来控制 iOS App 和系统。
本指南会带你完成使用 Midscene 控制 iOS 设备的全部步骤:通过 WebDriverAgent 连接真机、配置模型 API Key、体验零代码 Playground,并运行你的首个 JavaScript 脚本。
配置 AI 模型服务
将你的模型配置写入环境变量,可参考 模型策略 了解更多细节。
准备工作
继续之前,请确保 WebDriverAgent 可以与设备通信。
准备工作
安装 Node.js
安装 Node.js 18 或以上版本。
准备 API Key
准备一个视觉语言(VL)模型的 API Key。
你可以在 模型策略 文档中查看 Midscene.js 支持的模型和配置。
准备 WebDriver 服务
在开始之前,你需要先设置 iOS 开发环境:
- macOS(iOS 开发必需)
- Xcode 和 Xcode 命令行工具
- iOS 模拟器或真机设备
配置环境
在使用 Midscene iOS 之前,需要先准备 WebDriverAgent 服务。
WebDriverAgent 版本需要 >= 7.0.0
请参考官方文档进行设置:
- 模拟器配置:Run Prebuilt WDA
- 真机配置:Real Device Configuration
验证环境配置
配置完成后,可以通过访问 WebDriverAgent 的状态接口来验证 服务是否启动:
访问地址:http://localhost:8100/status
正确响应示例:
如果能够正常访问该端点并返回类似上述的 JSON 响应,说明 WebDriverAgent 已经正确配置并运行。
试用 Playground(零代码)
Playground 是验证连接、观察 AI 驱动步骤的最快方式,无需编写代码。它与 @midscene/ios 共享相同的核心,因此在 Playground 中通过的流程,在脚本中运行会保持一致。
- 启动 Playground CLI:
- 点击窗口中的齿轮按钮进入配置页,粘贴你的 API Key 配置。如果还没有 API Key,请回到 模型配置 获取。

开始体验
配置完成后,你可以立即开始体验 Midscene。它提供了多个关键操作 Tab:
- Act: 与网页进行交互,这就是自动规划(Auto Planning),对应于
aiAct方法。比如
- Query: 从界面中提取 JSON 结构的数据,对应于
aiQuery方法。
类似的方法还有 aiBoolean(), aiNumber(), aiString(),用于直接提取布尔值、数字和字符串。
- Assert: 理解页面,进行断言,如果不满足则抛出错误,对应于
aiAssert方法。
- Tap: 在某个元素上点击,这就是即时操作(Instant Action),对应于
aiTap方法。
关于自动规划(Auto Planning)和即时操作(Instant Action)的区别,请参考 API 文档。
集成 Midscene Agent
当 Playground 工作正常后,就可以切换到可复用的 JavaScript 脚本。
第 1 步:安装依赖
第 2 步:编写脚本
下面的示例会在设备上打开 Safari,搜索 eBay,并断言结果列表。
第 3 步:运行示例
第 4 步:查看报告
脚本成功后会输出 Midscene - report file updated: /path/to/report/some_id.html。在浏览器中打开对应 HTML 文件即可回放每一步交互、查询与断言。
API 参考与更多资源
需要查看构造函数、辅助方法或平台专属设备 API?请移步下方的 iOS API 参考 获取详细参数及自定义操作等高级主题。若想了解跨平台共用的 API,可阅读 通用 API 参考。

