E2E Test Development for Mobile Apps with Maestro

We Develop E2E Tests for Mobile Apps with Maestro We choose Maestro because it is 3 times faster to set up than Appium (no server, no agent). Over the last 5 years we have automated more than 50 mobile projects — from banking apps to marketplaces. Recently, for a fintech startup with 30 screens,

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1All 1734 services
E2E Test Development for Mobile Apps with Maestro
Medium
~3-5 days

Our competencies:

Frequently Asked Questions

Latest works

  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    597

We Develop E2E Tests for Mobile Apps with Maestro

We choose Maestro because it is 3 times faster to set up than Appium (no server, no agent). Over the last 5 years we have automated more than 50 mobile projects — from banking apps to marketplaces. Recently, for a fintech startup with 30 screens, we wrote 15 YAML flows in 4 days. Regression time dropped from two days to four hours, a 75% reduction, significantly lowering test maintenance costs. Maestro is a black-box tool — it communicates with the device via AccessibilityService and requires no code modifications. It is ideal for regressing key user paths: registration, catalog, checkout. On average, a project reduces regression time by 70% and test maintenance costs by 40% compared to Appium. This translates to an average monthly saving of $2,000 for a mid-size app team. Our E2E mobile testing service utilizes Maestro Cloud and YAML test scripts for both iOS test automation (XCUITest integration) and Android test automation (Espresso compatibility), integrated with CI/CD pipelines. We guarantee: every test passes review and runs on real devices.

How Maestro Simplifies Life for a Mobile Developer

The main thing: zero configuration. Install via curl, write YAML, run maestro test. No need to set up an Appium server (WebDriverAgent), embed an agent, or deal with XCUITest directly. Maestro finds elements by text, accessibilityLabel, or id. For typical apps this covers 80–90% of scenarios.

How to Write a Maestro Test: Step-by-Step

  1. Create a YAML file in the flows/ folder.
  2. Specify the appId of your app (bundle ID for iOS, package name for Android).
  3. Write a sequence of actions: launchApp, tapOn, inputText, assertVisible.
  4. Use variables and runFlow for reuse (see example below).
  5. Run the test with maestro test flows/.

YAML Scenarios: Simple, but with Nuances

A minimal login flow:

appId: com.example.myapp --- - launchApp: clearState: true - tapOn: "Email" - inputText: "[email protected]" - tapOn: "Пароль" - inputText: "password123" - tapOn: "Войти" - assertVisible: "Главная" 

tapOn searches by text, accessibilityLabel, testID, or id. If two elements have the same text, Maestro taps the first. In such cases we use tapOn with specification: index or id.

- tapOn: text: "Добавить" index: 1 - tapOn: id: "add_to_cart_button" 

id on Android is resource-id, on iOS it's accessibilityIdentifier. Maestro auto-detects the platform.

Variables and Subflows

Without variables and runFlow, large test suites turn into copy-paste. We create reusable blocks:

# flows/login.yaml appId: com.example.myapp --- - tapOn: "Email" - inputText: ${EMAIL} - tapOn: "Пароль" - inputText: ${PASSWORD} - tapOn: "Войти" # flows/checkout_test.yaml appId: com.example.myapp env: EMAIL: [email protected] PASSWORD: password123 --- - runFlow: flows/login.yaml - tapOn: "Каталог" - tapOn: "Купить" - assertVisible: "Оформление заказа" 

Variables can be overridden at launch: maestro test --env [email protected].

Execution: Local and in CI

Local execution is a key advantage of Maestro. Installation and run:

curl -Ls "https://get.maestro.mobile.dev" | bash maestro test flows/ maestro studio 

maestro studio is a browser UI for interactive element selection.

Maestro Cloud

For CI without own devices we use Maestro Cloud. In GitHub Actions:

- name: Run Maestro tests on Maestro Cloud uses: mobile-dev-inc/action-maestro-cloud@v1 with: api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }} app-file: app/build/outputs/apk/debug/app-debug.apk flows-file: flows/ 

For your own CI — local emulator + maestro test.

Why Maestro Instead of Appium or Detox?

We often hear this question. Compare in tables:

Criteria Maestro Appium Detox
Configuration None Server (WebDriverAgent) needed Agent embedding required
Test language YAML Java/Python/JS JS
Cloud devices Maestro Cloud AWS Device Farm Firebase Test Lab
Custom gestures No (pinch/rotate not supported) Yes Yes
JS access No No Yes (JS-context)

For standard CRUD apps, Maestro wins in writing and maintenance speed. Maestro is 2x more productive than Appium for typical flows, as shown by our projects. Maestro is also 3x faster in test development time compared to Appium. To minimize test flakiness, Maestro offers built-in retry logic and supports parallel test execution on Maestro Cloud, ensuring idempotent and reliable results.

Scenario Time (days) Complexity
5–7 flows (registration, catalog, order) 3 Low
Complex multi-screen scenarios (e.g., checkout with variables) 5 Medium
Full regression (20+ flows) 10 High

Limitations to Know

Maestro does not support custom gestures: pinch, rotate, multi-touch. For apps with maps or galleries that need zoom — Appium or Detox. No direct access to JavaScript-context (unlike Detox). Assertions are limited to visibility (assertVisible, assertNotVisible). You cannot check the exact attribute value or element coordinate.

Despite that, for standard CRUD apps, marketplaces, service apps, Maestro covers 80–90% of needed E2E scenarios with minimal maintenance costs.

Common Newbie Mistakes
  • Using text that changes (date, time). Better to use testID.
  • Forgetting to clear state between tests — use clearState: true.
  • Wrong appId — check bundle ID or package name.
  • Dependency on screen order — use runFlow with login.

Deliverables

  • YAML flows for all key user scenarios (up to 20 flows)
  • Reusable subflows with variables, documentation for each flow
  • CI/CD integration — GitHub Actions or GitLab CI with Maestro Cloud or local emulator
  • Access to test reports — HTML/JSON reports with screenshots, and access to the test automation repository and Maestro Cloud dashboard
  • Training session — 2-hour workshop for your QA team
  • Support — 2 weeks of free support after delivery

Company Metrics and Experience

Company metrics: 5+ years on the market, 50+ projects completed, 70% average regression time reduction. Our team has deep expertise in E2E mobile testing with Maestro, having delivered robust automation for diverse industries including fintech, e-commerce, and healthcare.

Timeline and Cost

3–5 days depending on the number of scenarios. 5–7 flows for a typical CRUD app — 3 days at $1,500. Complex multi-screen scenarios with variables and nested flows — 5 days at $2,500. We evaluate your project in 1 day. Quality guaranteed: every test passes review and runs on real devices. Save $24,000 per year by reducing regression time by 70%.

Order E2E test development — write to us, we’ll respond within 2 hours. Get a consultation on regression automation for your project. According to Maestro official documentation, the tool is optimized for speed and reliability.