What is Maestro?

Maestro is an open-source UI automation framework for mobile and web with built-in tolerance, zero-wait intelligence, and declarative YAML syntax.

Maestro is the simplest and most effective open-source UI automation framework for mobile and web. It is designed to allow developers and testers to define and automate user journeys with a level of reliability and ease that traditional tools cannot match.

Traditional testing tools often require deep instrumentation, access to the app's source code, and a strong coding ability. Maestro changes this by operating at "arm's length," piloting the device, not the app, scrolling and tapping like a real user would through the same accessibility layer that real users rely on. This eliminates framework dependencies, allowing you to test any app, regardless of whether it was built with React Native, Flutter, or Native code.

Why choose Maestro?

shield Built-in Tolerance

Maestro embraces the instability of mobile devices by automatically handling flakiness and UI settling.

timer Zero-Wait Intelligence

No more manual sleep() calls. Maestro automatically waits for network content and animations to load.

file Declarative Syntax

Tests are defined in human-readable YAML files, removing the need for deep programming knowledge.

rocket-launch Blazingly Fast Iteration

Tests run without compilation. Maestro can monitor your files and rerun flows instantly upon saving.

box Single Binary Setup

Maestro is a single tool that works anywhere, avoiding the "setup hell" associated with legacy drivers.

circle-check

Maestro vs competitors

While tools like Appium or Selenium treat testing like unit tests inspecting internal APIs, Maestro treats your app as a black box. By simulating "human thumbs on a screen," Maestro validates the complete user experience stack, including interactions with system settings and notifications.

Ready to start?

Explore the core components of the Maestro ecosystem and begin your journey:

Last updated