如果你正在为移动端 UI 测试而头疼——Android 要写 Espresso,iOS 要写 XCTest,Web 还要再来一套 Selenium,测试逻辑几乎相同但维护三套代码——那么 Maestro 正是为你而来的解决方案。
Maestro 是一个开源的跨平台 UI 测试框架,用人类可读的 YAML 语法描述测试流程,一套脚本通吃 Android、iOS 和 Web 三大平台。
它解决了什么问题
现有测试框架的问题:Appium 太重、配置复杂;Espresso 只支持 Android;XCTest 只支持 iOS;每换平台就要重写。Maestro 在这些框架的经验上做了整合,用 YAML 定义行为,解释执行,不需要编译。
核心特性
跨平台覆盖
同一套 YAML 测试文件可以在 Android 模拟器/真机、iOS 模拟器/真机、以及浏览器中运行。React Native、Flutter、原生混合 App 都能测。
YAML 语法,极低门槛
测试用例看起来像这样:
appId: com.android.contacts
---
- launchApp
- tapOn: "Create new contact"
- tapOn: "First Name"
- inputText: "John"
- tapOn: "Save"
不需要写代码,不需要懂编程,产品经理也能读懂和维护测试用例。
智能等待,不惧动态 UI
Maestro 内置自动等待机制,不需要手动加 sleep。界面元素还没加载完,它会自动等;动画还没结束,它会等。这样测试用例不会因为竞态条件而随机失败。
安装极简
一条命令装好:
curl -fsSL "https://get.maestro.mobile.dev" | bash
前提是已安装 Java 17 以上环境。
Maestro Studio 可视化 IDE
不想用命令行的同学,可以下载 Maestro Studio——一个轻量级桌面 IDE,支持可视化录制测试步骤、元素检查、AI 生成测试指令。即使不写代码,也能通过点击录制测试流程。
快速上手
安装完成后,先连接模拟器或真机,然后运行:
maestro install # 安装必要依赖
maestro test your-flow.yaml # 运行测试
在 CI 环境中配合 Maestro Cloud,还可以实现多设备并行测试,大幅缩短测试时间。
适用场景
- 移动应用日常回归测试:每次发版前跑一遍核心流程,确保没有明显 bug
- 跨平台应用一致性验证:同一套用例在 Android/iOS 同时跑,验证UI一致性
- QA 自动化流程集成:配合 GitHub Actions,每次 PR 自动触发测试
- 产品演示验证:录制用户操作路径,验证产品功能完整性
开源协议
Maestro 采用 Apache 2.0 协议开源,代码完全免费可商用。项目由 mobile-dev-inc 团队维护,社区活跃。
服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。










暂无评论内容