Description:
Adds scripts for running the UI tests locally in a way that's similar to how they run on CI.
Setting up UI tests:
Run .maestro/setup_ui_tests.sh from the .maestro folder. It should tell you to run it from the root. If there are other errors with your environment (such as missing commands) it will also fail.
Run .maestro/setup_ui_tests.sh from the root. It'll build the app to a local DerivedData folder, create a simulator and install the app
Run .maestro/setup_ui_tests.sh --skip-build. It'll skip the build, but create a simulator and install the app if one is available in the right location
Running UI tests:
Run .maestro/run_ui_tests.sh. It'll fail because you need to specific a location for the flow files to run.
Run .maestro/run_ui_tests.sh --flow-location .maestro\x which will fail because the location is wrong.
Run .maestro/run_ui_tests.sh --flow-location .maestro\release_tests\ it will run the tests and create a file called run_log.txt in DerivedData. Once it finishes it'll dump that file to the console. If they all passed it will show a success message.
Run .maestro/run_ui_tests.sh --run-flow it'll fail because you need to specify a flow file
Run .maestro/run_ui_tests.sh --run-flow .maestro/release_tests/bookmarks.yaml it'll run just that test
Run .maestro/run_ui_tests.sh --flow-location .maestro\release_tests\ and hit Ctrl-C. This will make it appear like the test has failed. Do this for a few test and allow others to pass. The final message should indicate that some failures occurred.
Cleaning up:
Run .maestro/clean_simulators.sh and it'll kill the simulators and then remove the ones that have 'maestro' in the name. Some errors might get printed for where they don't need to be shutdown but this can be ignored.
Removed the parameters from the run_ui_tests script, it now takes a single parameter
if it's a file it runs a single flow
if it's a folder it iterates over all the items in the folder. It'll give some weird output if you choose a folder with no flows, but should be obvious enough why
Task/Issue URL: https://app.asana.com/0/392891325557410/1207589761442405/f Tech Design URL: CC: @bwaresiak
Description: Adds scripts for running the UI tests locally in a way that's similar to how they run on CI.
Setting up UI tests:
.maestro/setup_ui_tests.sh
from the.maestro
folder. It should tell you to run it from the root. If there are other errors with your environment (such as missing commands) it will also fail..maestro/setup_ui_tests.sh
from the root. It'll build the app to a localDerivedData
folder, create a simulator and install the app.maestro/setup_ui_tests.sh --skip-build
. It'll skip the build, but create a simulator and install the app if one is available in the right locationRunning UI tests:
.maestro/run_ui_tests.sh
. It'll fail because you need to specific a location for the flow files to run..maestro/run_ui_tests.sh --flow-location .maestro\x
which will fail because the location is wrong..maestro/run_ui_tests.sh --flow-location .maestro\release_tests\
it will run the tests and create a file called run_log.txt inDerivedData
. Once it finishes it'll dump that file to the console. If they all passed it will show a success message..maestro/run_ui_tests.sh --run-flow
it'll fail because you need to specify a flow file.maestro/run_ui_tests.sh --run-flow .maestro/release_tests/bookmarks.yaml
it'll run just that test.maestro/run_ui_tests.sh --flow-location .maestro\release_tests\
and hit Ctrl-C. This will make it appear like the test has failed. Do this for a few test and allow others to pass. The final message should indicate that some failures occurred.Cleaning up:
.maestro/clean_simulators.sh
and it'll kill the simulators and then remove the ones that have 'maestro' in the name. Some errors might get printed for where they don't need to be shutdown but this can be ignored.