runFlow
If you'd like to avoid duplication of code or otherwise modularize your Flow files, you can use the runFlow
command to run commands from another file.
runFlow
Runs a flow from a specified file:
- runFlow: anotherFlow.yaml
Example
Let's say you have a login sequence that you'd like to reuse across multiple flows. You can write the login commands in a separate file and run those steps from another Flow:
appId: com.example.app
---
- launchApp
- tapOn: Username
- inputText: Test User
- tapOn: Password
- inputText: Test Password
- tapOn: Login
Arguments
runFlow
command can accepts arguments that will be passed to subflow, the same way as with -e
or env
block in the flow itself (see Parameters & Constants):
- runFlow:
file: anotherFlow.yaml
env:
MY_PARAMETER: "123"
Inline flows
If you would like to use runFlow
without extracting the commands into a separate flow file, you can run your commands inline like this:
- runFlow:
env:
INNER_ENV: Inner Parameter
commands:
- inputText: ${INNER_ENV}
Remember that when running in the cloud and requiring another file, you must specify a folder on the command line not just the flow file, e.g. maestro cloud myApp.apk ./myTestsFolder
else Maestro won't have the files required to run your tests, and you'll receive a 'Failed to parse file' error.
Last updated
Was this helpful?