Prerequisite: Install the Maestro app following these instructions.
- Install with
yarn
ornpm install
.
- Start the app in Expo Go:
- Android:
yarn start
to start the packager, then pressa
to install and start Expo Go on Android - iOS:
yarn start
to start the packager, then pressi
to install and start Expo Go on iOS
- Android:
- In a separate terminal, execute a Maestro test flow:
- Home screen test:
maestro test maestro/expo_go/home.yml
- Expanding component test:
maestro test maestro/expo_go/expand_test.yml
- Home screen test:
- Once the test flow starts and Expo Go starts, select "Reload" or the app name from the Expo Go UI in the simulator/emulator. Once the dev menu is hidden and this app is visible, the test flow will continue.
- Build the development build and start it on your simulator/emulator:
- Android:
yarn android
. - iOS:
yarn ios
.
- Android:
- In a separate terminal, execute a Maestro test flow:
- Home screen test:
maestro test maestro/dev_build/home.yml
- Expanding component test:
maestro test maestro/dev_build/expand_test.yml
- Home screen test:
- Initialize the app as an EAS project with
eas init
. - iOS:
- Start an EAS run to build and test the app with
eas build -e build-and-maestro-test -p ios
.
- Start an EAS run to build and test the app with
- Android:
- Follow the instructions to disable the new Android builds infrastructure for the EAS project.
- Start an EAS run to build and test the app with
eas build -e build-and-maestro-test -p android
.
Note: The Maestro flows in the maestro/dev_build folder must have the app's package name (Android) or bundle identifier (iOS) defined. To make this example work out of the box without changes, the app.json and the Maestro flows for dev builds are preconfigured with these values set to
dev.expo.eastestsexample
. In your actual development, these should be changed to the correct values for your app.
Deploy on all platforms with Expo Application Services (EAS).
- Deploy the website:
npx eas-cli deploy
— Learn more - Deploy on iOS and Android using:
npx eas-cli build
— Learn more