Set Maestro version
By default, TestingBot will run your Maestro Flows with the latest version of Maestro CLI.
If you prefer to run a specific version of Maestro, you can specify a version
option.
curl -u api_key:api_secret \
-X POST "https://api.testingbot.com/v1/app-automate/maestro/:id/run" \
-d '{ "maestroOptions": { "version": "1.32.0" }, "capabilities":[{"platform":"ANDROID", "version":12, "deviceName":"Pixel 6", "platformName":"Android"}]}' \
-H "Content-Type: application/json"
Replace the
:id
with the identifier you received during the app upload call.
Maestro config.yaml
You can include the config.yaml
Maestro workspace configuration file in the Maestro flows zip file. This global configuration file contains options related to Maestro and Maestro Cloud which can be used with TestingBot. These options are currently supported on TestingBot:
-
includeTags
: tests that contain these tags will be run -
excludeTags
: tests that contain these tags will NOT be run -
env
: environment variables that can be used in multiple flows
Maestro Environment Variables
You can pass along one or more environment variables to Maestro, by specifying this in the maestroOptions
as env
.
curl -u api_key:api_secret \
-X POST "https://api.testingbot.com/v1/app-automate/maestro/:id/run" \
-d '{ "maestroOptions": { "env": { "APP_ID": "com.testingbot.sample" } }, "capabilities":[{"platform":"ANDROID", "version":12, "deviceName":"Pixel 6", "platformName":"Android"}]}' \
-H "Content-Type: application/json"
Maestro Include Tags
You can set the --include-tags
by specifying this in the maestroOptions
. This makes sure to only run the flows that include the specific tag(s).
curl -u api_key:api_secret \
-X POST "https://api.testingbot.com/v1/app-automate/maestro/:id/run" \
-d '{ "maestroOptions": { "includeTags": ['tag1', 'tag2'] }, "capabilities":[{"platform":"ANDROID", "version":12, "deviceName":"Pixel 6", "platformName":"Android"}]}' \
-H "Content-Type: application/json"
Maestro Exclude Tags
You can set the --exclude-tags
by specifying this in the maestroOptions
. This makes sure to not run the flows that include the specific tag(s).
curl -u api_key:api_secret \
-X POST "https://api.testingbot.com/v1/app-automate/maestro/:id/run" \
-d '{ "maestroOptions": { "excludeTags": ['tag1', 'tag2'] }, "capabilities":[{"platform":"ANDROID", "version":12, "deviceName":"Pixel 6", "platformName":"Android"}]}' \
-H "Content-Type: application/json"
Maestro IP Geolocation
TestingBot's GeoIP feature allows you to test your app from various parts of the world, by using IP addresses in over 20 different countries.
When you enable GeoIP, traffic originating from the device which is running your Maestro test(s) will come from an IP address in the country you specified.
To get started with location testing, you can specify the testingbot.geoCountryCode
option when starting a Maestro test.
Please see the example below where we specify that the app should connect through Germany.
curl -u api_key:api_secret \
-X POST "https://api.testingbot.com/v1/app-automate/maestro/:id/run" \
-d '{ "capabilities":[{"version":"17.2", "deviceName":"iPhone 13", "platformName":"iOS", "testingbot.geoCountryCode":"DE"}]}' \
-H "Content-Type: application/json"
The
DE
abbreviation is the ISO code of Germany. You can find other GeoIP country codes to use.
Maestro Network Throttling
TestingBot provides a throttle network feature, which will simulate specific network conditions during a Maestro test.
We offer various presets:
-
Edge:
- 250kbps download
- 150kbps upload
- 0% Loss
- 300ms Latency
-
3G:
- 400kbps download
- 100kbps upload
- 0% Loss
- 100ms Latency
-
4G:
- 18000kbps download
- 9000kbps upload
- 0% Loss
- 100ms Latency
-
airplane:
Simulates Airplane Mode (no network connectivity)
-
disable:
Revert the throttling to no throttling.
We also offer the possibility to specify your own download
, upload
, loss
and latency
values.
You can pass a preset or specific options at the start of your test (through the capabilities
), or during the test (with execute_script
).
Change Test Name
You can change how your test name appears in the TestingBot dashboard by specifying a name
option.
Change Device Timezone
TestingBot allows you to change the timezone of the mobile device (physical or emu/sim) to a timezone that you specify.
Simply pass in a timeZone
capability specifying a timezone from the list.
You can find a list of timezones on Wikipedia.