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.

Copy code
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.

Copy code
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).

Copy code
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).

Copy code
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.

Copy code
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.