Technology serving the productQuality and testing

Maestro for mobile flows tested through the user journey.

Test like a user, not a machine

Maestro is a modern mobile testing tool that eliminates flakiness and complex setup known from Appium. We use it to ensure the highest quality of our React Native applications.

Decision

Technology follows the product goal

Proof

5.0 on Google and public case studies

Outcome

Mobile journeys tested the way users experience them

01 / Fit

Product first. Stack second.

When is Maestro the perfect fit?

Maestro is ideal for projects where iteration speed and test reliability are crucial.

  • React Native apps requiring frequent regression testing
  • When we want tests written in a readable YAML format
  • Projects where classic UI tests (Appium) were too flaky and slow
  • For teams implementing Continuous Delivery (CI/CD) in mobile apps

When to consider other solutions?

Despite its advantages, Maestro does not cover 100% of testing use cases.

  • Web applications (Maestro focuses exclusively on mobile iOS/Android)
  • Unit testing of business logic (we use Jest for that)
  • Specific, deep testing of native platform components requiring Espresso or XCUITest

02 / Solution

Testing Approach with Maestro

Maestro works from the outside, seeing the app exactly as a user would.

  1. 01

    Declarative Flows

    Tests are written in simple YAML files that describe user steps step-by-step (e.g. "tap on button", "input text").

  2. 02

    Built-in Resilience (Auto-wait)

    Maestro automatically waits for elements to appear on the screen. No need to write hardcoded sleeps.

03 / Quality

Production readiness starts before launch.

Reliability and Release Confidence

UI tests with Maestro ensure that the app will work on end-devices after an update.

  • Black-box Integration Testing

    The app runs entirely on a real simulator, guaranteeing verification of the whole tech stack.

Speed and CI Integration

Maestro was designed with immediate developer feedback in mind.

  • Lightning-fast startup and iteration

    Running a single test takes seconds, and changes can be tested almost in real-time using Maestro Studio.

  • Maestro Cloud / CI

    Seamless execution of tests in the cloud (Maestro Cloud) on pull requests.

04 / Delivery

Implementing Maestro in GMI Processes

How do we use Maestro daily when delivering apps?

  1. 01

    Core flows coverage

    First, we cover the most important paths (e.g., registration, checkout, login).

  2. 02

    PR Automation

    Before merging any code, Maestro tests run automatically to verify we haven't broken existing features.

FAQ

Questions before you decide

Why Maestro instead of Appium or Detox?

Maestro drastically lowers the entry barrier to test automation. Appium is heavy to configure and slow. Detox is faster than Appium but hard to maintain for React Native. Maestro works out-of-the-box and has no flaky tests thanks to its smart auto-wait mechanism.