mobile-dev-inc/Maestro

GitHub: mobile-dev-inc/Maestro

Maestro 是一款跨平台的移动端与 Web 应用 UI 自动化测试框架,通过简洁的 YAML 语法实现快速编写和执行端到端测试。

Stars: 12614 | Forks: 713

Maestro logo

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, 二进制发布, 安全库, 开源工具, 开源框架, 持续集成, 文档结构分析, 测试脚本, 移动应用开发, 移动端测试, 端到端测试, 自动化测试框架, 跨平台测试, 软件质量保证, 黑盒测试