Maestro vs Detox: 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.
Detox: Gray box end-to-end testing framework for React Native apps on Android and iOS, with tests in JavaScript.
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; that does not mean the feature is absent.
Side by side
| Fact | Maestro | Detox |
|---|---|---|
| Stars | 15,7521 | 12,0271 |
| Forks | 9661 | 1,9111 |
| Contributors | 1211 | 2811 |
| Last release | 2026-08-311 | 2026-05-301 |
| Last commit | 2026-09-181 | 2026-06-161 |
| Commits in 90 days | 971 | 01 |
| License | Apache-2.01 | MIT1 |
| Primary language | Kotlin1 | JavaScript1 |
| Status | active1 | slow1 |
| Languages for writing tests | YAML flow files source: README | JavaScript source: README |
| Mobile platforms | Android, iOS and web on emulators, simulators, browsers and physical Android devices source: README | React Native apps on Android and iOS source: README |
| Test authoring format | YAML commands such as launchApp, tapOn, assertVisible; visual flow building in Maestro Studio source: README | Code (JavaScript APIs usable with any test runner; Jest integration included) source: README |
| Parallel or distributed execution | CLI sharding across connected devices (--shards, --shard-split, --shard-all) source: Docs: Maestro CLI commands and options | Multiple Jest workers (--maxWorkers <N> forwarded by detox test) source: Docs: Parallel Test Execution |
| CI integration | Report formats for Jenkins, GitHub Actions and Azure DevOps source: Docs: Test reports and artifacts | Travis CI, CircleCI, Jenkins named in the README source: README |
| Report formats | JUnit XML, HTML, HTML detailed (--format flag) source: Docs: Test reports and artifacts | Artifacts: device logs (.log), screenshots (.png), screen recordings (.mp4) source: Docs: Artifacts |
| Install method | Install script (curl -fsSL "https://get.maestro.mobile.dev" | bash); requires Java 17 or higher source: README | npm (npm install detox --save-dev), with Jest source: Docs: Project setup (React Native) |
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
Detox
Fits projects that run gray box end-to-end tests of React Native apps on Android and iOS; its README describes synchronization that monitors asynchronous operations in the app. 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
- README, read
- Docs: Maestro CLI commands and options, read
- Docs: Parallel Test Execution, read
- Docs: Test reports and artifacts, read
- Docs: Artifacts, read
- Docs: Project setup (React Native), read
Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.