Features

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 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":"15.5", "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.