mobile-dev-inc/Maestro
GitHub: mobile-dev-inc/Maestro
Maestro 是一款跨平台的移动端与 Web 应用 UI 自动化测试框架,通过简洁的 YAML 语法实现快速编写和执行端到端测试。
Stars: 12614 | Forks: 713
Maestro 是一个开源框架,它让 Android、iOS 和 Web 应用的 UI 及端到端测试变得简单且快速。
使用 YAML 流程,您可以在五分钟内编写第一个测试,并在任何模拟器、仿真器或浏览器上运行它们。
## 目录
- [为什么选择 Maestro?](#why-maestro)
- [快速入门](#getting-started)
- [资源与社区](#resources--community)
- [贡献](#contributing)
- [Maestro Studio – 测试 IDE](#maestro-studio--test-ide)
- [Maestro Cloud – 并行执行与可扩展性](#maestro-cloud--parallel-execution--scalability)
## 为什么选择 Maestro?
Maestro 建立在其前身(Appium、Espresso、UIAutomator、XCTest、Selenium、Playwright)的经验之上,允许您轻松定义和测试您的 Flows。
通过将人类可读的 YAML 语法与解释执行引擎相结合,它让您能够轻松编写、运行和扩展移动端与 Web 的跨平台端到端测试。
- **跨平台覆盖** – 在模拟器、仿真器或真机上测试 Android、iOS 和 Web 应用(React Native、Flutter、混合应用)。
- **人类可读的 YAML 流程** – 将交互表达为命令,如 `launchApp`、`tapOn` 和 `assertVisible`。
- **弹性与智能等待** – 内置的波动容忍度和自动等待机制处理动态 UI,无需手动调用 `sleep()`。
- **快速迭代与简单安装** – 流程是解释执行的(无需编译),安装只需一个脚本。
**简单示例:**
```
# flow_contacts_android.yaml
appId: com.android.contacts
---
- launchApp
- tapOn: "Create new contact"
- tapOn: "First Name"
- inputText: "John"
- tapOn: "Last Name"
- inputText: "Snow"
- tapOn: "Save"
```
## 快速入门
Maestro 需要您的系统安装 Java 17 或更高版本。您可以通过运行以下命令来验证您的 Java 版本:
```
java -version
```
安装 CLI:
运行以下命令以在 macOS、Linux 或 Windows (WSL) 上安装 Maestro:
```
curl -fsSL "https://get.maestro.mobile.dev" | bash
```
以下链接将指导您完成后续步骤。
- [安装 Maestro](https://docs.maestro.dev/getting-started/installing-maestro)(包含常规 Windows 安装)
- [构建并安装您的应用](https://docs.maestro.dev/getting-started/build-and-install-your-app)
- [运行示例流程](https://docs.maestro.dev/getting-started/run-a-sample-flow)
- [编写您的第一个流程](https://docs.maestro.dev/getting-started/writing-your-first-flow)
## 资源与社区
- 💬 [加入 Slack 社区](https://maestrodev.typeform.com/to/FelIEe8A)
- 📘 [文档](https://docs.maestro.dev)
- 📰 [博客](https://maestro.dev/blog?utm_source=github-readme)
- 🐦 [在 X 上关注我们](https://twitter.com/maestro__dev)
## Maestro Studio – 测试 IDE
**Maestro Studio Desktop** 是一个轻量级 IDE,允许您以可视化方式设计和执行测试 —— 无需终端。
它是免费的,尽管 Studio 不是一个开源项目。因此您无法在这里找到 Maestro Studio 的代码。
- **简单设置** – 只需下载适用于 macOS、Windows 或 Linux 的原生应用。
- **可视化流程构建器与检查器** – 录制交互、检查元素并以可视化方式构建流程。
- **AI 辅助** – 在编写测试时使用 MaestroGPT 生成命令并回答问题。
[下载 Maestro Studio](https://maestro.dev/?utm_source=github-readme#maestro-studio)
## Maestro Cloud – 并行执行与可扩展性
当您的测试套件增长时,在专用基础设施上并行运行数百个测试,将执行时间缩短多达 90%。包括内置通知、确定性环境和完整的调试工具。
Maestro Cloud 的定价完全透明,可以在 [定价页面](https://maestro.dev/pricing?utm_source=github-readme) 找到。
👉 [开始您的 7 天免费试用](https://maestro.dev/cloud?utm_source=github-readme)
```
Built with ❤️ by Maestro.dev
```
标签:Android测试, Appium替代方案, E2E测试, Espresso, Flutter测试, iOS测试, JS文件枚举, Maestro, React Native测试, Selenium, UI自动化, Web测试, XCTest, YAML, 二进制发布, 安全库, 开源工具, 开源框架, 持续集成, 文档结构分析, 测试脚本, 移动应用开发, 移动端测试, 端到端测试, 自动化测试框架, 跨平台测试, 软件质量保证, 黑盒测试