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
File | Changes |
---|---|
.github/workflows/maestro-test-android.yml | Contains the CI workflow for Maestro on Android |
.github/workflows/maestro-test-ios.yml | Contains the CI workflow for Maestro on iOS |
package.json | New script: maestro:test: maestro test --debug-output maestro-debug-output .maestro |
.maestro/example-flow.yml | Example 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