Maestro vs EarlGrey: open-source mobile automation tools compared
Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.
Summary
Maestro: Framework for UI and end-to-end testing of Android, iOS and web apps using YAML flows.
EarlGrey: UI automation test framework for native iOS apps with automatic synchronization; version 1.0 is deprecated for EarlGrey 2.
Both are listed under Mobile automation. The table gives repository metrics from the GitHub API with their fetch date, then the documented facts used for every comparison in this category, each linked to the README or docs page it comes from. A cell reads "not documented" when the fact was not found in the project's documentation (3 of 14 fact cells here); that does not mean the feature is absent.
Side by side
| Fact | Maestro | EarlGrey |
|---|---|---|
| Stars | 15,7521 | 5,7001 |
| Forks | 9661 | 7371 |
| Contributors | 1211 | 571 |
| Last release | 2026-08-311 | 2022-06-071 |
| Last commit | 2026-09-181 | 2023-09-091 |
| Commits in 90 days | 971 | 01 |
| License | Apache-2.01 | Apache-2.01 |
| Primary language | Kotlin1 | Objective-C1 |
| Status | active1 | inactive1 |
| Languages for writing tests | YAML flow files source: README | Swift (3.0 and 2.3) and Objective-C test targets source: Docs: Install and Run |
| Mobile platforms | Android, iOS and web on emulators, simulators, browsers and physical Android devices source: README | Native iOS apps source: README |
| Test authoring format | YAML commands such as launchApp, tapOn, assertVisible; visual flow building in Maestro Studio source: README | Code with XCTest; runs from Xcode or xcodebuild source: README |
| Parallel or distributed execution | CLI sharding across connected devices (--shards, --shard-split, --shard-all) source: Docs: Maestro CLI commands and options | not documentednot found in the project's documentation as of |
| CI integration | Report formats for Jenkins, GitHub Actions and Azure DevOps source: Docs: Test reports and artifacts | not documentednot found in the project's documentation as of |
| Report formats | JUnit XML, HTML, HTML detailed (--format flag) source: Docs: Test reports and artifacts | not documentednot found in the project's documentation as of |
| Install method | Install script (curl -fsSL "https://get.maestro.mobile.dev" | bash); requires Java 17 or higher source: README | CocoaPods, Carthage or manual Xcode project setup source: Docs: Install and Run |
1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.
When each fits
Written from each project's documented scope, not from preference. Neither tool is ranked.
Maestro
Fits projects that run UI and end-to-end tests for Android, iOS and web apps; its README describes tests kept as a flat list of YAML commands. source: README
EarlGrey
Fits projects that write UI tests for native iOS apps with XCTest; its README describes automatic synchronization with the UI, network requests and various queues. source: README
More on these tools
Sources
- GitHub REST API: repository, read
- GitHub REST API: repository, read
- GitHub REST API: contributors, read
- GitHub REST API: contributors, read
- GitHub REST API: latest release, read
- GitHub REST API: latest release, read
- GitHub REST API: commits, read
- GitHub REST API: commits, read
- README, read
- Docs: Install and Run, read
- README, read
- Docs: Maestro CLI commands and options, read
- Docs: Test reports and artifacts, read
Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.