Maestro

by mobile-dev-inc

14.8k stars
2.2k downloads
Not rated
GitHub Website

About

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

- 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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Maestro
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

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.

{
    "mcpServers": {
        "maestro": {
            "maestro": {
                "command": "maestro",
                "args": [
                    "mcp"
                ]
            }
        }
    }
}

McpServers

{
    "maestro": {
        "command": "maestro",
        "args": [
            "mcp"
        ]
    }
}
> [!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.

Email sign in

No reviews posted yet.