From 82cfe3434a7a6de205831a823cdd2e8cd48dc07e Mon Sep 17 00:00:00 2001 From: Leland Takamine Date: Sun, 2 Mar 2025 17:56:24 +0000 Subject: [PATCH] GITBOOK-454: change request with no subject merged in GitBook --- api-reference/configuration/README.md | 2 +- .../configuration/workspace-configuration.md | 22 +++++++++---------- cli/cloud.md | 8 +++++-- cli/start-device.md | 6 ++--- cli/test-suites-and-reports.md | 2 +- .../integration-with-any-ci-platform.md | 10 ++++----- cloud/cloud-quickstart.md | 4 ++-- cloud/pull-request-integration.md | 4 ++-- .../cloud-workspace-configuration.md | 8 +++---- cloud/reference/configuring-os-version.md | 2 +- cloud/reference/email-notifications.md | 2 +- cloud/reference/execution-order.md | 8 +++---- cloud/reference/managing-secrets.md | 2 +- cloud/reference/reusing-app-binary.md | 6 ++--- cloud/reference/slack-notifications.md | 6 ++--- cloud/reference/upload-types.md | 6 ++--- 16 files changed, 51 insertions(+), 47 deletions(-) diff --git a/api-reference/configuration/README.md b/api-reference/configuration/README.md index 7299068..6063683 100644 --- a/api-reference/configuration/README.md +++ b/api-reference/configuration/README.md @@ -1,6 +1,6 @@ # Configuration -There are two ways to configure Maestro and [Robin](https://www.robintest.com/): +There are two ways to configure Maestro: 1. With a root `config.yaml` file that is present in the workspace root. Typically this would be `.maestro/config.yaml` 2. Config section for a given Flow. This is the top section in the flow file, above the `---` marker.\ diff --git a/api-reference/configuration/workspace-configuration.md b/api-reference/configuration/workspace-configuration.md index d81660c..4c77d0a 100644 --- a/api-reference/configuration/workspace-configuration.md +++ b/api-reference/configuration/workspace-configuration.md @@ -23,20 +23,20 @@ excludeTags: - tagNameToExclude ``` -### Robin configuration +### Cloud configuration -There are other workspace configuration options available that relate to [Robin](https://www.robintest.com/) which are not outlined here. Please refer to the [Robin documentation](../../cloud/run-maestro-tests-in-the-cloud.md) for more information. +There are other workspace configuration options available when [running in the cloud](../../cloud/run-maestro-tests-in-the-cloud.md) which are not outlined here. Please refer to the [cloud docs](../../cloud/run-maestro-tests-in-the-cloud.md) for more information. ## Environment variables -| Variable name | Description | Type | Default | Further reading | -| --------------------------------- | --------------------------------------------------------------------------------- | ------- | ------------------------ | -------------------------------------------------------------------- | -| MAESTRO\_API\_URL | The URL of the Maestro API to use. Probably only useful to Mobile Inc developers. | String | `https://api.mobile.dev` | - | -| MAESTRO\_CLI\_AI\_KEY | Key for external AI service used in AI operations. | String | - | [Docs](ai-configuration.md). | -| MAESTRO\_CLI\_NO\_ANALYTICS | Disables Maestro analytics collection | Boolean | `false` | - | -| MAESTRO\_CLOUD\_API\_KEY | The API key to use when communicating with Robin | String | - | [Robin documentation](../../cloud/run-maestro-tests-in-the-cloud.md) | -| MAESTRO\_DISABLE\_UPDATE\_CHECK | Disable the check for newer Maestro versions when running the CLI | Boolean | `false` | - | -| MAESTRO\_DRIVER\_STARTUP\_TIMEOUT | The maximum time to wait for a driver to start. | Number | `15000` | [Docs](../../advanced/configuring-maestro-driver-timeout.md) | -| MAESTRO\_USE\_GRAALJS | Use GraalJS instead of RhinoJS for JavaScript execution | Boolean | `false` | [Docs](../../advanced/javascript/graaljs-support.md). | +| Variable name | Description | Type | Default | Further reading | +| --------------------------------- | --------------------------------------------------------------------------------- | ------- | ------------------------ | ------------------------------------------------------------ | +| MAESTRO\_API\_URL | The URL of the Maestro API to use. Probably only useful to Mobile Inc developers. | String | `https://api.mobile.dev` | - | +| MAESTRO\_CLI\_AI\_KEY | Key for external AI service used in AI operations. | String | - | [Docs](ai-configuration.md) | +| MAESTRO\_CLI\_NO\_ANALYTICS | Disables Maestro analytics collection | Boolean | `false` | - | +| MAESTRO\_CLOUD\_API\_KEY | The API key to use when communicating with the Maestro cloud platform | String | - | [Docs](../../cloud/run-maestro-tests-in-the-cloud.md) | +| MAESTRO\_DISABLE\_UPDATE\_CHECK | Disable the check for newer Maestro versions when running the CLI | Boolean | `false` | - | +| MAESTRO\_DRIVER\_STARTUP\_TIMEOUT | The maximum time to wait for a driver to start. | Number | `15000` | [Docs](../../advanced/configuring-maestro-driver-timeout.md) | +| MAESTRO\_USE\_GRAALJS | Use GraalJS instead of RhinoJS for JavaScript execution | Boolean | `false` | [Docs](../../advanced/javascript/graaljs-support.md) | Any other environment variables prefixed with `MAESTRO_` will be available in your Flows as JavaScript variables. See [Accessing variables from the shell](../../advanced/parameters-and-constants.md#accessing-variables-from-the-shell) for more information. diff --git a/cli/cloud.md b/cli/cloud.md index 835b5df..55bd3c9 100644 --- a/cli/cloud.md +++ b/cli/cloud.md @@ -1,8 +1,12 @@ # Cloud -### Robin +The easiest way to test your Flows in CI is to [run your flows in the cloud](../cloud/run-maestro-tests-in-the-cloud.md). Since your flows run in the cloud there's no need to configure any simulators or emulators on your end. -The easiest way to test your Flows in CI is to run your Flows on [Robin](https://www.robintest.com/). Since your flows run in the cloud there's no need to configure any simulators or emulators on your end. Check out the [**Robin Documentation**](../cloud/run-maestro-tests-in-the-cloud.md) to get started in less than 5 minutes: +``` +maestro cloud --api-key --project-id sample.zip ios-flow.yaml +``` + +Check out the cloud documentation to get started in less than 5 minutes: {% content-ref url="../cloud/run-maestro-tests-in-the-cloud.md" %} [run-maestro-tests-in-the-cloud.md](../cloud/run-maestro-tests-in-the-cloud.md) diff --git a/cli/start-device.md b/cli/start-device.md index d43de8d..3acc13b 100644 --- a/cli/start-device.md +++ b/cli/start-device.md @@ -6,7 +6,7 @@ description: Maestro offers a few convenience methods to start or create a devic You can use Maestro to create an Android emulator or an iOS simulator. -The device configurations are similar to the ones hosted on [Robin](https://www.robintest.com/). Using such devices will help you create [Robin](https://www.robintest.com/) compatible flows. +The device configurations are similar to the ones hosted on [Maestro's cloud platform](../cloud/run-maestro-tests-in-the-cloud.md). Using such devices will help you create compatible flows. @@ -22,7 +22,7 @@ This will create a default Android emulator (Pixel 6, Google API 30). If the dev For full options run `maestro start-device` -_Note: Device configurations are limited to a few recommended OS versions and devices. Such configurations work well with Maestro and_ [_Robin_](https://www.robintest.com/)_._ +_Note: Device configurations are limited to a few recommended OS versions and devices. Such configurations work well when_ [_running flows in the cloud_](../cloud/run-maestro-tests-in-the-cloud.md)_._ ### Start an iOS simulator using Maestro @@ -36,5 +36,5 @@ This will create a default iOS simulator (iPhone11, iOS 15.5). If the device alr For full options run `maestro start-device` -_Note: Device configurations are limited to a few recommended os versions and devices. Such configurations work well with Maestro and Robin._ +_Note: Device configurations are limited to a few recommended os versions and devices. Such configurations work well when_ [_running flows in the cloud_](../cloud/run-maestro-tests-in-the-cloud.md)_._ diff --git a/cli/test-suites-and-reports.md b/cli/test-suites-and-reports.md index 2eb0059..43794d8 100644 --- a/cli/test-suites-and-reports.md +++ b/cli/test-suites-and-reports.md @@ -20,7 +20,7 @@ To generate a report, add a `--format` parameter to a `test` command: maestro test --format junit myFolderWithTests/ ``` -Or, if you are using [Robin](https://www.robintest.com/): +Or, if you are [running in the cloud](../cloud/run-maestro-tests-in-the-cloud.md): ``` maestro cloud --format junit myFolderWithTests/ diff --git a/cloud/ci-integration/integration-with-any-ci-platform.md b/cloud/ci-integration/integration-with-any-ci-platform.md index 502ed81..b43d5e7 100644 --- a/cloud/ci-integration/integration-with-any-ci-platform.md +++ b/cloud/ci-integration/integration-with-any-ci-platform.md @@ -8,7 +8,7 @@ You can use the Maestro CLI to run your Flows in the cloud from any CI platform. ## Prerequisites -
API KeyReach out to your mobile.dev representative to obtain your Robin API key
Project IDThe id of the project you want to upload your app and Flows to. You can retrieve this from the Robin console.
iOSProvide a path that points to an x86-compatible *.app simulator build directory, or a zipped file that contains the *.app build.
AndroidYou APK must be x86-compatible.
+
API KeyReach out to your mobile.dev representative to obtain your Maestro API key
Project IDThe id of the project you want to upload your app and Flows to. You can retrieve this from the Maestro console.
iOSProvide a path that points to an x86-compatible *.app simulator build directory, or a zipped file that contains the *.app build.
AndroidYou APK must be x86-compatible.
## 1. Organize your Flows @@ -22,7 +22,7 @@ Add all of your Flows under a single directory in your repo. We recommend naming │   └── Search.yaml ``` -All of the flows directly under the `.maestro/` directory will be executed by Robin. +All of the flows directly under the `.maestro/` directory will be executed as top-level flows. #### Subflows @@ -40,7 +40,7 @@ It's common to have some Flow files that are only meant to be executed as part o In the example above, `MySubflow.yaml` will not be executed as a top-level Flow, but still can be referenced by other Flows using the `runFlow` command. -## 2. Run Flows on Robin +## 2. Run Flows in the cloud #### 1. Install the Maestro CLI @@ -58,7 +58,7 @@ Add a step in your CI workflow that executes the `maestro cloud` command: maestro cloud --apiKey --project-id .maestro/ ``` -
<apiKey>Robin API Key
<projectId>Robin Project ID
<appFile>The APK file or .app directory (instructions)
.maestro/The directory that contains your Flows
+
<apiKey>Maestro API Key
<projectId>Maestro Project ID
<appFile>The APK file or .app directory (instructions)
.maestro/The directory that contains your Flows
To set a name for your upload, use the `--name` option: @@ -78,4 +78,4 @@ If any Flow failures are detected, the exit code is set to 1. On success, the ex ## 4. View Result Details -A link to the current upload will be printed out to your logs. You can view any ongoing or past uploads in the Robin console. +A link to the current upload will be printed out to your logs. You can view any ongoing or past uploads in the Maestro console. diff --git a/cloud/cloud-quickstart.md b/cloud/cloud-quickstart.md index da4f1ed..3ebd9f9 100644 --- a/cloud/cloud-quickstart.md +++ b/cloud/cloud-quickstart.md @@ -8,7 +8,7 @@ Before wiring into CI, we recommend uploading a local build from your terminal t ## 1. Install the Maestro CLI -We'll be using the `maestro cloud` command below to upload to Robin, so start by [**installing the Maestro CLI**](../getting-started/installing-maestro/) if you haven't already: +We'll be using the `maestro cloud` command below to run your flows in the cloud, so start by [**installing the Maestro CLI**](../getting-started/installing-maestro/) if you haven't already: ``` curl -Ls "https://get.maestro.mobile.dev" | bash @@ -20,7 +20,7 @@ Log in to the Maestro console, click Settings and copy your Project ID. Please r ## 3. Download the Samples -Use the download-samples command to download a sample app and Flow file to upload to Robin: +Use the download-samples command to download a sample app and Flow file: ``` maestro download-samples diff --git a/cloud/pull-request-integration.md b/cloud/pull-request-integration.md index cb06c15..887961b 100644 --- a/cloud/pull-request-integration.md +++ b/cloud/pull-request-integration.md @@ -4,7 +4,7 @@ 🚀 **Cloud Plan** required - get started for free at [**maestro.dev**](https://www.maestro.dev/) {% endhint %} -Robin also provides support for native pull request integration. This is useful if you'd like to run your Flows asynchronously but still block pull requests from landing if flow failures are detected. +Maestro also provides support for native pull request integration. This is useful if you'd like to run your Flows asynchronously but still block pull requests from landing if flow failures are detected. {% hint style="info" %} Maestro Cloud currently supports **Pull Request Integration** for GitHub and GitHub Enterprise only. @@ -65,7 +65,7 @@ maestro cloud \ ### 2. Grant access to pull requests -In order to update the status of pull requests, you'll need to grant Robin permissions to do so. +In order to update the status of pull requests, you'll need to grant Maestro permissions to do so. * [Install the Maestro Cloud GitHub App](https://github.com/apps/maestro-cloud-app) diff --git a/cloud/reference/cloud-workspace-configuration.md b/cloud/reference/cloud-workspace-configuration.md index e35cd09..0a2bb47 100644 --- a/cloud/reference/cloud-workspace-configuration.md +++ b/cloud/reference/cloud-workspace-configuration.md @@ -4,19 +4,19 @@ 🚀 **Cloud Plan** required - get started for free at [**maestro.dev**](https://www.maestro.dev/) {% endhint %} -A workspace is a directory containing all your Flows and config.yaml. The workspace is usually named `.maestro` which is the recommendation, but you can name it whatever you like and pass it in when uploading to Robin either via CI or using the CLI. +A workspace is a directory containing all your Flows and config.yaml. The workspace is usually named `.maestro` which is the recommendation, but you can name it whatever you like and pass it in when testing in the cloud either via CI or using the CLI. In `config.yaml`, there are two types of configurations you can make: * Maestro configuration (eg when running locally or in your own CI) -* Robin configuration (configuration that applies when running Flows in Robin) +* Cloud configuration (configuration that applies when [running Flows in the cloud](../run-maestro-tests-in-the-cloud.md)) Below is an exhaustive list of configuration options that you can set in `config.yaml` to control execution in Maestro Cloud. For an exhaustive list of Maestro configuration that impacts local running, please refer to the general [Workspace Configuration docs](../../api-reference/configuration/workspace-configuration.md). {% hint style="info" %} -`flows`, `includeTags` and`excludeTags`are used **both** when running locally/in own CI and in Robin. +`flows`, `includeTags` and`excludeTags`are used **both** when running locally and in the cloud. {% endhint %}
ConfigUseOptionalDocs
flowsControls what Flows to include when running the workspace.YesDocs
includeTagsList of tags to include on each run.YesDocs
excludeTagsList of tags to exclude on each run.YesDocs
baselineBranchInformation about what branch is your baseline. Useful when integrating with Pull Requests.YesDocs
notificationsWho to notify after an Upload finishes processing.YesEmail Slack
executionOrderWhat Flows to run in sequential order (if desired).YesLink
@@ -32,7 +32,7 @@ includeTags: excludeTags: - tagNameToExclude -# Robin only configuration +# Cloud only configuration baselineBranch: main notifications: email: diff --git a/cloud/reference/configuring-os-version.md b/cloud/reference/configuring-os-version.md index 0beeb26..54aebcc 100644 --- a/cloud/reference/configuring-os-version.md +++ b/cloud/reference/configuring-os-version.md @@ -57,4 +57,4 @@ You can configure your Flows to run on a specific iOS major version using the `i maestro cloud --ios-version 17 myapp.app myflows/ ``` -Robin will automatically select an appropriate minor version, meaning that if you specify iOS 16 your Flows will for example be run on 16.2. If you happen to specify a minimum deployment target version that is below the selected minor version (for example 16.0), an error message will be surfaced with instructions on how to recover.\ +Maestro will automatically select an appropriate minor version, meaning that if you specify iOS 16 your Flows will for example be run on 16.2. If you happen to specify a minimum deployment target version that is below the selected minor version (for example 16.0), an error message will be surfaced with instructions on how to recover.\ diff --git a/cloud/reference/email-notifications.md b/cloud/reference/email-notifications.md index 455c1be..705feee 100644 --- a/cloud/reference/email-notifications.md +++ b/cloud/reference/email-notifications.md @@ -4,7 +4,7 @@ 🚀 **Cloud Plan** required - get started for free at [**maestro.dev**](https://www.maestro.dev/) {% endhint %} -You can set up Robin to notify you and your team when a Flow fails. That's useful to easily keep track if your app is working as expected. +You can set up Maestro to notify you and your team when a Flow in the cloud. That's useful to easily keep track if your app is working as expected. In the `config.yaml` file add the list of emails that should receive the notifications: diff --git a/cloud/reference/execution-order.md b/cloud/reference/execution-order.md index e324da0..2c79d90 100644 --- a/cloud/reference/execution-order.md +++ b/cloud/reference/execution-order.md @@ -4,9 +4,9 @@ 🚀 **Cloud Plan** required - get started for free at [**maestro.dev**](https://www.maestro.dev/) {% endhint %} -By default, Robin will run the Flows from your upload in parallel, however, that are some cases when a sequential order is needed. +By default, Maestro's cloud infrastructure will run the Flows from your upload in parallel, however, that are some cases when a sequential order is needed. -To run your Flows in Robin in a given order you can add the following configuration to your `config.yaml` file: +To run your Flows in a given order in the cloud you can add the following configuration to your `config.yaml` file: ```yaml # config.yaml @@ -19,10 +19,10 @@ executionOrder: This configuration describes to our backend the order of the Flows you want to run. The list accepts either the Flow file names (without the `.yaml` extension) or the Flow name (see [Flow Configuration](../../api-reference/configuration/flow-configuration.md)). -The `continueOnFailure` flag determines whether if Robin should proceed with the execution of subsequent Flows if a previous one fails. As an example: if `flowA` fails and `continueOnFailure` is `true`, `flowB` will be executed. If the flag is `false`, `flowB` won't be executed. +The `continueOnFailure` flag determines whether Maestro should proceed with the execution of subsequent Flows if a previous one fails. As an example: if `flowA` fails and `continueOnFailure` is `true`, `flowB` will be executed. If the flag is `false`, `flowB` won't be executed. Even though the benchmarks will run in serial order, important to say that **we don't reuse the same device.** Each Flow will run on a brand-new device. This means it's not possible to share some internal app states across Flows. #### Configuring part of the Flows to run sequentially -For instance, if you have three Flows `flowA`, `flowB` and `flowC` and you want to run only `flowA` and `flowB` sequentially. In that case, don't add `flowC` to the list and Robin will run it in parallel with the sequential Flows. This is useful to have a faster turnaround time to get feedback on test cases. +For instance, if you have three Flows `flowA`, `flowB` and `flowC` and you want to run only `flowA` and `flowB` sequentially. In that case, don't add `flowC` to the list and it will run in parallel with the sequential Flows. This is useful to have a faster turnaround time to get feedback on test cases. diff --git a/cloud/reference/managing-secrets.md b/cloud/reference/managing-secrets.md index 00de22c..894039b 100644 --- a/cloud/reference/managing-secrets.md +++ b/cloud/reference/managing-secrets.md @@ -4,7 +4,7 @@ 🚀 **Cloud Plan** required - get started for free at [**maestro.dev**](https://www.maestro.dev/) {% endhint %} -There might be cases where you don't want to store certain values in a flow file itself (i.e. user name, password, etc.). Maestro solves that by taking such parameters as [variables](managing-secrets.md#using-variables-in-your-flows) and so does Robin. +There might be cases where you don't want to store certain values in a flow file itself (i.e. user name, password, etc.). Maestro solves that by taking such parameters as [variables](managing-secrets.md#using-variables-in-your-flows). {% tabs %} {% tab title="Maestro CLI" %} diff --git a/cloud/reference/reusing-app-binary.md b/cloud/reference/reusing-app-binary.md index 21bafb1..4a4231f 100644 --- a/cloud/reference/reusing-app-binary.md +++ b/cloud/reference/reusing-app-binary.md @@ -10,11 +10,11 @@ To execute a variety of test scenarios on the same build, multiple `maestro uplo ### Finding the app binary ID -After uploading to Robin the app binary id will be returned in the CLI response +After uploading, the app binary id will be returned in the CLI response
-It's also visible at the top of a run in Robin +It's also visible at the top of a run in the Maestro console
@@ -49,7 +49,7 @@ maestro cloud --api-key=123 --project-id=456 --app-file=app.apk --flows=flow.yam Why to reuse an app binary? To execute a variety of test scenarios on the same build, multiple maestro upload requests are often necessary. Since a binary upload can be time-consuming and resource-intensive, Maestro offers a solution to optimize this process. By using the --app-binary-id option, provided after a successful upload, users can reuse the cached binary for subsequent uploads, saving both time and space. Surface app binary -After uploading to Robin the app binary id will be returned in the CLI response +After uploading, the app binary id will be returned in the CLI response --app-binary-id You can now re-use a previous app binary by providing the appBinaryId. This will skip binary re-upload and improve iteration speed. diff --git a/cloud/reference/slack-notifications.md b/cloud/reference/slack-notifications.md index b6e63ae..ecdea1c 100644 --- a/cloud/reference/slack-notifications.md +++ b/cloud/reference/slack-notifications.md @@ -4,9 +4,9 @@ 🚀 **Cloud Plan** required - get started for free at [**maestro.dev**](https://www.maestro.dev/) {% endhint %} -You can set up Robin to notify you and your team about upload results from **a specific project**. That's useful to easily keep track if your app is working as expected. +You can set up Maestro to notify you and your team about results from **a specific project when** [running in the cloud](../run-maestro-tests-in-the-cloud.md). That's useful to easily keep track if your app is working as expected. -1. Go to the settings in your Robin Console +1. Go to the settings in your Maestro Console
@@ -18,7 +18,7 @@ You can set up Robin to notify you and your team about upload results from **a s
-3. After you have authorized the integration, you will be redirected back to the Robin Console, and the integration will be enabled. +3. After you have authorized the integration, you will be redirected back to the Maestro Console, and the integration will be enabled.
diff --git a/cloud/reference/upload-types.md b/cloud/reference/upload-types.md index 63cab95..23d4580 100644 --- a/cloud/reference/upload-types.md +++ b/cloud/reference/upload-types.md @@ -4,7 +4,7 @@ 🚀 **Cloud Plan** required - get started for free at [**maestro.dev**](https://www.maestro.dev/) {% endhint %} -When integrating with Robin, there are three types of uploads that can be made to the platform. +When [running Maestro tests in the cloud](../run-maestro-tests-in-the-cloud.md), there are three types of uploads that can be made to the platform. #### Adhoc @@ -12,8 +12,8 @@ An Adhoc upload is a nomal upload that is not associated with a Pull Request or #### Baseline Commit -A Baseline Commit is an upload that is triggered from the baseline branch. These uploads are used by Robin to reference the baseline when computing whether a given Pull Request introduces a regression or not. In order to supply Robin with the most updated baseline commits, it is recommended to setup your CI to trigger an upload on every commit to your baseline branch. +A Baseline Commit is an upload that is triggered from the baseline branch. These uploads are used by Maestro to reference the baseline when computing whether a given Pull Request introduces a regression or not. In order to supply Robin with the most updated baseline commits, it is recommended to setup your CI to trigger an upload on every commit to your baseline branch. #### Pull Request -A Pull Request upload should be triggered on every Pull Request against your baseline branch. Whenever this type of upload is made, Robin will report back status check to your CI (if supported) and mark checks as failed in the case of a regression. This way Robin can help you prevent regressions from being introduced into your baseline branch. +A Pull Request upload should be triggered on every Pull Request against your baseline branch. Whenever this type of upload is made, Maestro will report back status check to your CI (if supported) and mark checks as failed in the case of a regression. This way Maestro can help you prevent regressions from being introduced into your baseline branch.