40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
# flow: Shared _OnFlowStart
|
|
#intent:
|
|
# launch the app with a completely clear state, wait for animations to settle,
|
|
# and click through the expo dev screens if needed.
|
|
# These conditionals slow the app launch down a little but are necessary because the expo
|
|
# dev server and launch screen are only shown when the new architecture is turned off in expo 53.
|
|
# So we check to see if we need to connect to the metro server... that loads the app and then we
|
|
# check if the dev menu is showing and dismiss it if necessary.
|
|
# Then the app is then launched and ready for the maestro tests to run.
|
|
#
|
|
# This flow should be included in every maestro test header as `onFlowStart` to ensure expo screens
|
|
# are bypassed if necessary. Example:
|
|
#
|
|
# appId: ${MAESTRO_APP_ID}
|
|
# onFlowStart:
|
|
# - runFlow: ../shared/_OnFlowStart.yaml
|
|
# ---
|
|
# [your maestro flow]
|
|
#
|
|
appId: ${MAESTRO_APP_ID}
|
|
---
|
|
# launch the app with a clean slate
|
|
- launchApp:
|
|
clearState: true
|
|
clearKeychain: true
|
|
stopApp: true
|
|
|
|
- waitForAnimationToEnd
|
|
|
|
# conditionally run the dev client flow if the words "Development servers" is present.
|
|
# this uses the default maestro timeout and moves on if it doesn't see the text.
|
|
- runFlow:
|
|
when:
|
|
visible: 'Development servers'
|
|
commands:
|
|
# this regex allows for different hosts and ports
|
|
- tapOn: "http://.*:.*"
|
|
- waitForAnimationToEnd
|
|
- tapOn: "Close" # dismiss the bottom sheet
|