Maestro

by mobile-dev-inc

14.8k 2.2k downloads Not rated yet Apache-2.0

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

License
Apache-2.0

Explore

- 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

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 (includes regular Windows installation)
- Build and install your app
- Run a sample flow
- Writing your first flow

---

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"
        ]
    }
}

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

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.

Videos about Maestro

Relevant YouTube tutorials, setups, and demos