runFlow
Use the runFlow command to reuse flows in Maestro. Run steps from another file, pass env arguments, or define inline commands for modular tests.
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?