基于 AI 智能体的测试框架,用自然语言目标驱动 Android、iOS 和 Web 应用的自动化测试。
- Star
- 16,343
- Fork
- 1,019
- 未关闭 Issue
- 454
- 最近提交
- 17小时前
这是什么?
Maestro 是一个开源框架,用于为 Android、iOS 和 Web 应用编写 UI 与端到端测试。测试用扁平的 YAML 命令列表描述,例如 launchApp、tapOn、inputText、assertVisible,不需要掌握特定的测试 SDK 就能读写。
它通过平台的无障碍层驱动应用,以单个 CLI 二进制文件安装,无需额外配置驱动或 SDK。流程由解释器直接执行,无需编译;内置的自动等待机制可以应对动态界面,免去手动 sleep。同一套命令语法适用于 React Native、Flutter、原生 iOS 与 Android、Ionic 及混合应用,可运行在模拟器、仿真器、浏览器和 Android 真机上。目前暂不支持 iOS 真机。
Maestro MCP 服务器内置于 CLI 中,Claude Code、Cursor 等编码代理可以直接操作真实设备上的应用、检查界面并验证自身改动。另有免费的桌面可视化测试工具 Maestro Studio(闭源单独下载),以及提供并行执行的 Maestro Cloud。
核心功能
- 01使用 tapOn、assertVisible 等可读的 YAML 命令编写测试
- 02以单个 CLI 二进制安装,无需驱动或 SDK
- 03内置自动等待与容错,适应动态界面
- 04同一语法覆盖 Android、iOS、Web 以及 React Native、Flutter 和原生应用
- 05内置 MCP 服务器,编码代理可在真机上操作和验证应用
适用场景
- 在 CI 中为移动应用运行端到端回归测试
- 在 Android 模拟器上为 React Native 或 Flutter 应用做冒烟测试
- 让编码代理在提交前于设备上验证界面改动
- 用相同的流程语法对 Web 应用做浏览器端到端检查
快速上手
- 1
确认已安装 Java 17 或更高版本
java -version - 2
运行 README 中的官方安装脚本(适用于 macOS、Linux 或 Windows WSL)
- 3
按文档用 Maestro CLI 运行第一个测试
使用前须知
- 暂不支持真实 iOS 设备。
- 需要 Java 17 或更高版本。
- Maestro Studio 免费提供,但其代码并不开源。
收录于专题
标签
常见问题
- Maestro 是什么?
- 开源的 Android、iOS 和 Web 应用 UI 与端到端测试框架,使用简单的 YAML 脚本编写测试流程。 Maestro 是一个开源框架,用于为 Android、iOS 和 Web 应用编写 UI 与端到端测试。测试用扁平的 YAML 命令列表描述,例如 launchApp、tapOn、inputText、assertVisible,不需要掌握特定的测试 SDK 就能读写。
- Maestro 可以免费使用吗?用的什么许可证?
- Maestro 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- Maestro 还在维护吗?
- 活跃维护中。Maestro 最近一次提交是在 2026年11月6日。
- Maestro 适合用来做什么?
- 在 CI 中为移动应用运行端到端回归测试 在 Android 模拟器上为 React Native 或 Flutter 应用做冒烟测试 让编码代理在提交前于设备上验证界面改动 用相同的流程语法对 Web 应用做浏览器端到端检查
- Maestro 怎么安装和运行?
- 确认已安装 Java 17 或更高版本: java -version 运行 README 中的官方安装脚本(适用于 macOS、Linux 或 Windows WSL) 按文档用 Maestro CLI 运行第一个测试
- 在哪里获取 Maestro?
- 源代码和安装说明在 GitHub 上:https://github.com/mobile-dev-inc/Maestro
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款免费开源的 macOS 应用,可在同一窗口中并排管理 Android 与 iOS 设备,支持镜像、控制和设置切换。
Midscene.js 是一个基于视觉的 E2E 测试框架,可用自然语言编写 Web、移动端和桌面应用的界面操作与断言。
面向 Web 与移动应用的端到端测试框架,可用自然语言描述测试目标,由智能体驱动应用完成。
让 AI 智能体和 LLM 通过 MCP 协议自动操作 iOS、Android 模拟器、模拟器及真机应用的服务器。
无需 ADB、USB 数据线或 root,用代码自动化控制真实 Android 手机,用于应用测试、重复任务和手机农场。