Repolode
mobile-dev-inc

mobile-dev-inc/Maestro

Open-source framework for UI and end-to-end testing of Android, iOS, and web apps using plain YAML flows.

Open-source alternative to:Appium

Stars
16,343
Forks
1,019
Open issues
454
Last commit
16 hours ago

What is it?

Maestro is an open-source framework for writing UI and end-to-end tests for Android, iOS, and web apps. Tests are flat lists of YAML commands such as launchApp, tapOn, inputText, and assertVisible, so a flow can be read and written without deep knowledge of a specific testing SDK.

Maestro drives apps through the platform's accessibility layer and installs as a single CLI binary with no drivers or SDK to set up. Flows are interpreted rather than compiled, and built-in waiting handles dynamic screens without manual sleep calls. The same command syntax works across React Native, Flutter, native iOS and Android, Ionic, and hybrid apps, on emulators, simulators, browsers, and physical Android devices. Physical iOS devices are not yet supported.

The Maestro MCP server ships inside the CLI, letting coding agents such as Claude Code or Cursor inspect a live device, interact with the app, and check their own work. Maestro Studio, a desktop visual test builder, is available as a free separate download, and Maestro Cloud offers parallel test execution.

Key features

  • 01Tests written as readable YAML commands like tapOn and assertVisible
  • 02Single-binary CLI install with no drivers or SDK required
  • 03Automatic waiting and flakiness tolerance for dynamic UIs
  • 04One syntax across Android, iOS, web, and React Native, Flutter, and native apps
  • 05MCP server lets coding agents control and test apps on a live device

Use cases

  • End-to-end regression tests for a mobile app run in CI
  • Smoke tests for a React Native or Flutter app on Android emulators
  • Letting a coding agent verify a UI change on a device before committing
  • Browser-based E2E checks for a web app using the same flow syntax

Quick start

  1. 1

    Check that Java 17 or higher is installed

    java -version
  2. 2

    Run the official install script from the README (macOS, Linux, or Windows WSL)

  3. 3

    Follow the docs to run your first test with the Maestro CLI

Things to know

  • Physical iOS devices are not yet supported.
  • Requires Java 17 or higher.
  • Maestro Studio is free but its code is not open source.

In collections

Topics

FAQ

What is Maestro?
Open-source framework for UI and end-to-end testing of Android, iOS, and web apps using plain YAML flows. Maestro is an open-source framework for writing UI and end-to-end tests for Android, iOS, and web apps. Tests are flat lists of YAML commands such as launchApp, tapOn, inputText, and assertVisible, so a flow can be read and written without deep knowledge of a specific testing SDK.
Is Maestro free to use? What license does it have?
Maestro is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is Maestro still maintained?
Actively maintained. The last commit to Maestro was on Nov 6, 2026.
What can I use Maestro for?
End-to-end regression tests for a mobile app run in CI Smoke tests for a React Native or Flutter app on Android emulators Letting a coding agent verify a UI change on a device before committing Browser-based E2E checks for a web app using the same flow syntax
How do I install Maestro?
Check that Java 17 or higher is installed: java -version Run the official install script from the README (macOS, Linux, or Windows WSL) Follow the docs to run your first test with the Maestro CLI
Where can I get Maestro?
The source code and installation instructions are on GitHub: https://github.com/mobile-dev-inc/Maestro

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects