Skip to content

From Maestro

Convert web-oriented Maestro tests into Smoketest browser tests.

View as Markdown

Maestro tests are already written as ordered instructions. For web journeys, that makes migration straightforward: keep the step intent and expected outcome, and remove mobile-runtime details.

Smoketest does not replace native mobile app testing. Use this guide for Maestro coverage that targets web, responsive web, or product journeys that can be exercised in a browser.

Translate the concepts

MaestroSmoketest
Test YAML fileOne test
openLink or web launch stepStart URL or navigation step
tapOn, inputText, scrollAction step in words
assertVisible / assertNotVisibleVerification step in words
runTest reusable setupShared Step or repeated setup steps
env valuesSmoketest environment variables
appId and native app launchKeep in Maestro for native apps

What to migrate

Migrate web journeys where the test reads like a customer task. Keep native app launches, simulator-only gestures, and app-install setup in Maestro.

If a YAML test contains many parameterized variants, migrate one representative journey first. Add more only when each variant protects a distinct risk.

Quick migration prompt

Text
Use $smoketest-explore to migrate this repository's Maestro web journeys to Smoketest.

1. Check Smoketest CLI install and auth first.
2. Find Maestro YAML tests and any env files.
3. Separate browser/web tests from native app tests.
4. Convert openLink, tapOn, inputText, scroll, and assertVisible steps into test drafts written in words.
5. Convert reusable login tests into a Smoketest sharedStep when useful.
6. Put env values and secrets into Smoketest environments.
7. Mark native-only tests as skipped with a reason.
8. Validate and dry-run the manifest, then ask before applying.

Example test

Markdown
## Docs search

- Open the documentation site.
- Search for `environments`.
- Open the environments result.
- Verify the page explains variables and secrets.

After migration

  • Review each test for intent rather than YAML command parity.
  • Attach environments to tests that used Maestro env values.
  • Keep Maestro for native app coverage until Smoketest supports that surface.

On this page