E2E Tests
The E2E tests are written for Maestro
Recommended setup for writing tests
Use Cursor together with Meastro Studio. In Cursor attach the maestro docs, screenshots, any source file or test file that would be of help for the model to write the tests. Guide the AI - tell it what test you want to write, how it should be structured, point it to a similar test, give it the screenshots, tell it which steps follows after which, tell it if it needs to do something like scroll in the test. With this the test should be 99% correct. You run it in Maestro and make small modifications.
Quick Start
# Run all tests
maestro test .
# Run smoke tests (fast validation)
maestro test --include-tags smoke tests/
# Run pending transaction suite
maestro test tests/transactions/pending/__suite__.yml
# Run single test
maestro test tests/transactions/pending/send-transaction.yml
Biometric enrollment (required for signer-import tests)
The signer-import flows (tests/onboarding/import-signer*.yml) go through the
biometrics opt-in screen. Without biometrics enrolled, tapping "Enable
biometrics" hits a dead-end "Set up biometrics" alert. CI enrolls biometrics
automatically (see the notifyutil enrollment step in
apps/mobile/.eas/build/build-and-maestro-test.yml); for local runs, run that
same enrollment command once per booted simulator. It resets when the simulator
is erased or cold-booted, so re-run it after that.
Structure
e2e/
├── tests/ # All runnable tests
│ ├── onboarding/
│ ├── assets/
│ ├── transactions/
│ │ ├── pending/__suite__.yml # Suite for fast execution
│ │ └── history/__suite__.yml
│ └── settings/
└── utils/ # Reusable utilities (not run standalone)
├── setup/
├── assertions/
└── components/
Tags
smoke- Critical path tests (run on every PR)onboarding,assets,transactions,settings- Feature categoriespending,history- Transaction subcategories
Test Modes
Development (Fast Iteration)
maestro test tests/transactions/pending/send-transaction.yml
PR Validation (Smoke Tests)
maestro test --include-tags smoke tests/
Feature Testing
maestro test --include-tags pending tests/
maestro test --include-tags cow-protocol tests/
Full Run (Nightly)
maestro test tests/transactions/pending/__suite__.yml
maestro test tests/transactions/history/__suite__.yml
maestro test tests/onboarding/__suite__.yml
maestro test tests/assets/__suite__.yml