Installing Maestro and Running Your First Flow
Install the Maestro CLI, write a YAML flow file that launches the app and taps a button, run it against a running simulator, and read the test report.
What Is Maestro?
Maestro is an open-source mobile UI testing framework by mobile.dev. It drives real iOS Simulators and Android Emulators by simulating actual user gestures — taps, swipes, typing — on the native UI. Because it tests the real app binary, it catches bugs that unit and component tests miss, like incorrect navigation wiring or platform-specific rendering issues.
Maestro tests are written in simple YAML files, making them accessible to developers who are not experts in testing frameworks. Each YAML file describes a flow: a sequence of commands that the Maestro CLI executes against a running app.
Installing the Maestro CLI
Install Maestro via a shell script on macOS and Linux. It downloads the CLI binary and adds it to your PATH. On Windows, Maestro runs inside WSL2 with an Android emulator. Verify the installation by running maestro --version.
Maestro requires Java 11 or higher on macOS (for the underlying test runner). If you do not have Java, Maestro's installer suggests installing it via Homebrew. iOS testing requires Xcode and the Simulator app — standard requirements for any iOS development.
# Install Maestro (macOS / Linux)
curl -Ls 'https://get.maestro.mobile.dev' | bash
# Reload your shell profile
source ~/.zshrc # or ~/.bashrc
# Verify installation
maestro --version
# Expected: Maestro CLI v1.x.x
# Optional: install the Maestro Studio (visual test recorder)
maestro studioAll lessons in this course
- Installing Maestro and Running Your First Flow
- Assertions and Waiting for Elements
- Testing Multi-Screen User Journeys
- Maestro in CI with GitHub Actions