maestro-parallel
Run Maestro flows on every connected iOS simulator, iOS device and Android device in parallel — with a single command.
maestro-parallel
What it does
- Discovers every booted iOS simulator, paired iOS device, and
adb-attached Android. - Builds release artifacts per platform group using auto-detected strategy (Rock → EAS local →
expo run:*). - Reuse-installs the same
.apk/.appon every additional device in the group — one build, many installs. - Foregrounds the app on each device (
simctl launch,adb monkey,devicectl launch). - Runs Maestro in parallel (Android: parallel processes; iOS: sequential by default; opt-in
iosShardAllfor--shard-all). - Merges JUnit reports and prints a per-device summary.
Why
Maestro itself can target only one device per process. Running 5 devices means launching 5 Maestro CLIs by hand, building the app 5 times, copy-pasting commands, juggling logs.
maestro-parallel does the orchestration so you don't.
Status
Alpha. Tested daily against real Expo projects (RN 0.81 + Expo 54). API may break before 1.0 — pin a version if you depend on stability.
Source
github.com/TomKalina/maestro-parallel — MIT licence.