Skip to main content

Maestro

Set up workflow to run Maestro E2E tests for every Pull Request.

Learn more about Maestro: maestro.mobile.dev

Usage

npx setup-ci --preset --maestro

Detailed behavior

Below you can find detailed information about what the script does with your project when generating Maestro workflow.

Installed dependencies

Since Maestro is a CLI tool, it requires no additional dependencies to be installed!

Debug build workflow

To test the app with Maestro, we need to first build the app in debug mode. Therefore, apart from CI workflow to run Maestro tests, SCI will generate workflows for building the app, on which the Maestro workflow depends. You can read more about the debug build workflow in Debug build.

Modified and created files

FileChanges
.github/workflows/maestro-test-android.ymlContains the CI workflow for Maestro on Android
.github/workflows/maestro-test-ios.ymlContains the CI workflow for Maestro on iOS
package.jsonNew script: maestro:test: maestro test --debug-output maestro-debug-output .maestro
.maestro/example-flow.ymlExample Maestro test, created if no .maestro directory is detected

Workflow details

maestro-test-android

The following diagram represents the flow of maestro-test-android workflow:

maestro-test-ios

The following diagram represents the flow of maestro-test-ios workflow:

Known issues and limitations

  • Maestro drives sometimes fails to start on macos GitHub Actions runners. This is a known open issue, you can follow it here: #1585