DEV Community

Cover image for Mobile UI Tests in YAML: No WebDriver Server, No Driver Install
Mayvin Ramasawmy
Mayvin Ramasawmy

Posted on

Mobile UI Tests in YAML: No WebDriver Server, No Driver Install

Appium session setup has three failure points before you write a single assertion: the server process, the driver installation and the capabilities object. Get one wrong and the session never starts โ€” you're debugging infrastructure not tests.

Maestro removes two of those three. No server process to run, no driver to install. A flow is a YAML file with a list of commands, and maestro test flow.yaml runs it directly against a connected device or simulator.

What the full guide covers:
๐Ÿ“ฆ Installing Maestro via Homebrew or the official install script, and confirming the CLI actually works
๐Ÿงช Writing a first flow that launches an app and asserts an element is visible โ€” four lines total
๐Ÿ”‘ Driving a real login flow: tapping fields by visible text, typing, hiding the keyboard, submitting
๐Ÿ” Using Maestro Studio to inspect the live element tree instead of guessing at selectors
๐Ÿค–๐ŸŽ Parametrizing a single flow to run unchanged against both an Android build and an iOS build

One detail worth knowing before you rely on it: Maestro's text selectors match case-insensitively and return the first match. On a login screen with a tab labeled "Login" and a submit button also labeled "Login," tapOn: "Login" hits whichever one it finds first โ€” not necessarily the one you meant.

The full walkthrough covers the exact install commands for macOS (Homebrew and curl), both flows end to end, and how to structure one flow file that runs unchanged on Android and iOS.

๐Ÿ‘‰ Read the full guide here: https://www.mobile-automation.io/maestro-first-test-android-ios/

Top comments (0)