Run Maestro tests in parallel on physical devices

Maestro testing in parallel on physical Android and iOS devices.

By Jochen D.

When we first introduced Maestro Cloud Testing on TestingBot, we focused on providing a reliable service for running Maestro cloud tests on emulators/simulators, as well as physical Android devices. The integration at that time only allowed uploading and starting Maestro flows through API calls.

Today we're expanding Maestro support with some big improvements:

  • Physical iOS device support: Run Maestro tests on real, physical iOS devices (iPhones and iPads).
  • TestingBot CLI: a new command-line interface to make cloud runs feel as simple as local Maestro test runs.
  • Parallel execution:Maestro flows will now run in parallel (across devices and configurations), delivering even faster feedback.

New: TestingBot CLI for Maestro

We built a dedicated CLI so running Maestro on TestingBot feels as close as possible to local Maestro. The CLI lives at github.com/testingbot/testingbotctl and is designed for CI pipelines and developer workflows.

# Install
npm install -g @testingbot/cli

# Authenticate (or set env vars in CI)
testingbot login

# Run Maestro flows on TestingBot
testingbot maestro <app-file> <flow-file-or-directory> [options]

The CLI handles app upload, flow packaging, device selection, starting the run, streaming logs and retrieving results. It's intentionally automation-friendly: you can integrate it into CI and have it return proper exit codes for pass/fail.

Here's a quick walkthrough of running Maestro flows on TestingBot:

New: Run Maestro on physical iOS devices

Another big new capability: TestingBot now supports Maestro on real iPhones and iPads. This is especially important when you need confidence beyond simulators. Real device offer performance, hardware behavior and edge cases that emulators/simulators can not fully replicate.

Why real-device iOS matters

  • True performance characteristics: CPU/GPU constraints and animation timing behave differently on real devices.
  • Hardware-specific behavior: Sensors, camera flows, notifications and device-specific quirks.
  • Higher confidence releases: Validate your app on the same class of devices your users run.

Faster than Maestro Cloud and DeviceCloud

Speed matters when Maestro is part of your PR checks. TestingBot is optimized for fast mobile execution and quick turnaround: flows start quickly, run on high-performance infrastructure and now execute in parallel across devices.

TestingBot

  • Real iOS devices + simulators
  • Android real devices + emulators
  • Parallel flow execution
  • Artifacts: video, logs, screenshots

Maestro Cloud / DeviceCloud

  • Typically iOS simulators only (no real iOS devices)
  • Emulator-first execution models
  • Parallelism may be limited or plan-dependent
  • Less flexibility in device coverage

Why Maestro for mobile app testing?

Maestro has become a favorite for QA and developers because it's fast to write, easy to review and stable in practice. Flows are defined as human-readable YAML that models real user journeys (sign in, checkout, onboarding) and Maestro's built-in synchronization reduces flakiness by default.

  • Readable flows: YAML-based test cases that are easy to code-review.
  • Quick iteration: Easy to add coverage as features evolve.
  • Practical stability: Designed to wait for UI elements and tolerate timing differences.
  • CI-friendly: Great fit for pipelines where you need reliable pass/fail signals.

Parallel flows: reduce suite time dramatically

In real projects, you don't run one flow, instead you run a suite. TestingBot's upgraded execution engine runs flows in parallel across devices and configurations, so you can shrink end-to-end runtime and ship faster.

  • PR feedback faster: Parallel runs keep pipelines tight.
  • More coverage: Run the same flow across multiple devices/OS versions at once.
  • Scales with your team: Concurrency increases with your plan.

Documentation and options

If you want to learn more, please see the documentation:

Start running Maestro tests at scale

If you already use Maestro locally, moving to TestingBot is straightforward: keep your flows, run them on real devices, and scale out with parallel execution.

Ready to start testing?

Start a free trial