Skip to content

androiddevnotesforks/maestro

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tip

Great things happen when testers connect — Join the Maestro Community

Maestro logo

Maestro is an open-source framework that makes UI and end-to-end testing for Android, iOS, and web apps simple and fast.
Write your first test in under five minutes using YAML flows and run them on any emulator, simulator, or browser.


Table of Contents


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.


Resources & Community


Contributing

Maestro is open-source under the Apache 2.0 license — contributions are welcome!

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


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.

👉 Start your free 7-day trial

  Built with ❤️ by Maestro.dev

About

Painless Mobile UI Automation

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 76.9%
  • TypeScript 10.0%
  • Objective-C 7.5%
  • Swift 3.7%
  • Shell 1.3%
  • JavaScript 0.5%
  • Other 0.1%