Maestro is an open-source framework that makes UI and end-to-end testing for Android, iOS, and web apps simple and fast. It uses human-readable YAML flows and runs on any emulator, simulator, or browser.
Details
Author
mobile-dev-inc
GitHub stars
14,770
Downloads
2,169
Categories
Other, Developer Tools
Jump to
- Cross-platform coverage for Android, iOS, and web apps.
- Human-readable YAML flows for test authoring.
- Built-in flakiness tolerance and automatic waiting.
- No compilation needed – flows are interpreted instantly.
- Simple one‑command installation.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
Install Maestro via a single curl command on macOS, Linux, or Windows (WSL), then write YAML flow files with commands like launchApp, tapOn, and assertVisible. Run tests directly from the CLI without compilation.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
> [!TIP]
> Great things happen when testers connect — [Join the Maestro Community](https://maestrodev.typeform.com/to/FelIEe8A)
<p align="center">
<a href="https://www.maestro.dev">
<img width="1200" alt="Maestro logo" src="https://github.com/mobile-dev-inc/Maestro/blob/main/assets/banne_logo.png" />
</a>
</p>
<p align="center">
<strong>Maestro</strong> is an open-source framework that makes UI and end-to-end testing for Android, iOS, and web apps simple and fast.<br/>
Write your first test in under five minutes using YAML flows and run them on any emulator, simulator, or browser.
</p>
<img src="https://user-images.githubusercontent.com/847683/187275009-ddbdf963-ce1d-4e07-ac08-b10f145e8894.gif" />
---
## Table of Contents
- [Why Maestro?](#why-maestro)
- [Getting Started](#getting-started)
- [Resources & Community](#resources--community)
- [Contributing](#contributing)
- [Maestro Studio – Test IDE](#maestro-studio--test-ide)
- [Maestro Cloud – Parallel Execution & Scalability](#maestro-cloud--parallel-execution--scalability)
---
## Why Maestro?
Maestro is built on learnings from its predecessors (Appium, Espresso, UIAutomator, XCTest, Selenium, Playwright) and allows you to easily define and test your Flows.
By combining a human-readable YAML syntax with an interpreted execution engine, it lets you write, run, and scale cross-platform end-to-end tests for mobile and web with ease.
- **Cross-platform coverage** – test Android, iOS, and web apps (React Native, Flutter, hybrid) on emulators, simulators, or real devices.
- **Human-readable YAML flows** – express interactions as commands like `launchApp`, `tapOn`, and `assertVisible`.
- **Resilience & smart waiting** – built-in flakiness tolerance and automatic waiting handle dynamic UIs without manual `sleep()` calls.
- **Fast iteration & simple install** – flows are interpreted (no compilation) and installation is a single script.
**Simple Example:**
```
# 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"
```
---
## Getting Started
Maestro requires Java 17 or higher to be installed on your system. You can verify your Java version by running:
```
java -version
```
Installing the CLI:
Run the following command to install Maestro on macOS, Linux or Windows (WSL):
```
curl -fsSL "https://get.maestro.mobile.dev" | bash
```
The links below will guide you through the next steps.
- [Installing Maestro](https://docs.maestro.dev/getting-started/installing-maestro) (includes regular Windows installation)
- [Build and install your app](https://docs.maestro.dev/getting-started/build-and-install-your-app)
- [Run a sample flow](https://docs.maestro.dev/getting-started/run-a-sample-flow)
- [Writing your first flow](https://docs.maestro.dev/getting-started/writing-your-first-flow)
---
## Resources & Community
- 💬 [Join the Slack Community](https://maestrodev.typeform.com/to/FelIEe8A)
- 📘 [Documentation](https://docs.maestro.dev)
- 📰 [Blog](https://maestro.dev/blog?utm_source=github-readme)
- 🐦 [Follow us on X](https://twitter.com/maestro__dev)
---
## Contributing
Maestro is open-source under the Apache 2.0 license — contributions are welcome!
- Check [good first issues](https://github.com/mobile-dev-inc/maestro/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
- Read the [Contribution Guide](https://github.com/mobile-dev-inc/Maestro/blob/main/CONTRIBUTING.md)
- Fork, create a branch, and open a Pull Request.
If you find Maestro useful, ⭐ star the repository to support the project.
---
## Maestro Studio – Test IDE
**Maestro Studio Desktop** is a lightweight IDE that lets you design and execute tests visually — no terminal needed.
It is also free, even though Studio is not an open-source project. So you won't find the Maestro Studio code here.
- **Simple setup** – just download the native app for macOS, Windows, or Linux.
- **Visual flow builder & inspector** – record interactions, inspect elements, and build flows visually.
- **AI assistance** – use MaestroGPT to generate commands and answer questions while authoring tests.
[Download Maestro Studio](https://maestro.dev/?utm_source=github-readme#maestro-studio)
---
## Maestro Cloud – Parallel Execution & Scalability
When your test suite grows, run hundreds of tests in parallel on dedicated infrastructure, cutting execution times by up to 90%. Includes built-in notifications, deterministic environments, and complete debugging tools.
Pricing for Maestro Cloud is completely transparent and can be found on the [pricing page](https://maestro.dev/pricing?utm_source=github-readme).
👉 [Start your free 7-day trial](https://maestro.dev/cloud?utm_source=github-readme)
```
Built with ❤️ by Maestro.dev
```
No reviews yet — be the first
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
Social sign-in isn’t configured yet. You can still create an account with email below, or ask an admin to add Google/GitHub/Discord OAuth credentials.
Sequential Thinking is an MCP server that provides a tool for dynamic and reflective problem-solving through a structured, step-by-step thinking process. It is…
Filesystem is a Node.js server that implements the Model Context Protocol (MCP) for filesystem operations. It enables AI assistants to read, write, and manage…