Skip to content

Commit

Permalink
GITBOOK-454: change request with no subject merged in GitBook
Browse files Browse the repository at this point in the history
  • Loading branch information
Leland-Takamine authored and gitbook-bot committed Mar 2, 2025
1 parent 7acabc5 commit 82cfe34
Show file tree
Hide file tree
Showing 16 changed files with 51 additions and 47 deletions.
2 changes: 1 addition & 1 deletion api-reference/configuration/README.md
Original file line number Diff line number Diff line change
@@ -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.\
Expand Down
22 changes: 11 additions & 11 deletions api-reference/configuration/workspace-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
8 changes: 6 additions & 2 deletions cli/cloud.md
Original file line number Diff line number Diff line change
@@ -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 <API_KEY> --project-id <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)
Expand Down
6 changes: 3 additions & 3 deletions cli/start-device.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.&#x20;

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.



Expand All @@ -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

Expand All @@ -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)_._

2 changes: 1 addition & 1 deletion cli/test-suites-and-reports.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/
Expand Down
10 changes: 5 additions & 5 deletions cloud/ci-integration/integration-with-any-ci-platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ You can use the Maestro CLI to run your Flows in the cloud from any CI platform.

## Prerequisites

<table data-header-hidden><thead><tr><th width="126"></th><th></th></tr></thead><tbody><tr><td><strong>API Key</strong></td><td>Reach out to your mobile.dev representative to obtain your Robin API key</td></tr><tr><td>Project ID</td><td>The id of the project you want to upload your app and Flows to. You can retrieve this from the Robin console.</td></tr><tr><td><strong>iOS</strong></td><td>Provide a path that points to an x86-compatible <code>*.app</code> simulator build directory, or a zipped file that contains the <code>*.app</code> build.</td></tr><tr><td><strong>Android</strong></td><td>You APK must be x86-compatible.</td></tr></tbody></table>
<table data-header-hidden><thead><tr><th width="126"></th><th></th></tr></thead><tbody><tr><td><strong>API Key</strong></td><td>Reach out to your mobile.dev representative to obtain your Maestro API key</td></tr><tr><td>Project ID</td><td>The id of the project you want to upload your app and Flows to. You can retrieve this from the Maestro console.</td></tr><tr><td><strong>iOS</strong></td><td>Provide a path that points to an x86-compatible <code>*.app</code> simulator build directory, or a zipped file that contains the <code>*.app</code> build.</td></tr><tr><td><strong>Android</strong></td><td>You APK must be x86-compatible.</td></tr></tbody></table>

## 1. Organize your Flows

Expand All @@ -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

Expand All @@ -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

Expand All @@ -58,7 +58,7 @@ Add a step in your CI workflow that executes the `maestro cloud` command:
maestro cloud --apiKey <apiKey> --project-id <projectId> <appFile> .maestro/
```

<table data-header-hidden><thead><tr><th width="144"></th><th></th></tr></thead><tbody><tr><td><strong>&#x3C;apiKey></strong></td><td>Robin API Key</td></tr><tr><td>&#x3C;projectId></td><td>Robin Project ID</td></tr><tr><td><strong>&#x3C;appFile></strong></td><td>The APK file or .app directory (<a href="../reference/build-your-app-for-cloud.md">instructions</a>)</td></tr><tr><td><strong>.maestro/</strong></td><td>The directory that contains your Flows</td></tr></tbody></table>
<table data-header-hidden><thead><tr><th width="144"></th><th></th></tr></thead><tbody><tr><td><strong>&#x3C;apiKey></strong></td><td>Maestro API Key</td></tr><tr><td>&#x3C;projectId></td><td>Maestro Project ID</td></tr><tr><td><strong>&#x3C;appFile></strong></td><td>The APK file or .app directory (<a href="../reference/build-your-app-for-cloud.md">instructions</a>)</td></tr><tr><td><strong>.maestro/</strong></td><td>The directory that contains your Flows</td></tr></tbody></table>

To set a name for your upload, use the `--name` option:

Expand All @@ -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.
4 changes: 2 additions & 2 deletions cloud/cloud-quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions cloud/pull-request-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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)
Expand Down
8 changes: 4 additions & 4 deletions cloud/reference/cloud-workspace-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.&#x20;
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.&#x20;

In `config.yaml`, there are two types of configurations you can make:&#x20;

* 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 %}

<table><thead><tr><th width="219">Config</th><th width="321">Use</th><th>Optional</th><th>Docs</th></tr></thead><tbody><tr><td><code>flows</code></td><td>Controls what Flows to include when running the workspace.</td><td>Yes</td><td><a href="../../cli/test-suites-and-reports.md#controlling-what-tests-to-include">Docs</a></td></tr><tr><td><code>includeTags</code></td><td>List of tags to include on each run.</td><td>Yes</td><td><a href="../../cli/tags.md#global-tags">Docs</a></td></tr><tr><td><code>excludeTags</code></td><td>List of tags to exclude on each run.</td><td>Yes</td><td><a href="../../cli/tags.md#global-tags">Docs</a></td></tr><tr><td><code>baselineBranch</code></td><td>Information about what branch is your baseline. Useful when integrating with Pull Requests.</td><td>Yes</td><td><a href="../pull-request-integration.md">Docs</a></td></tr><tr><td><code>notifications</code></td><td>Who to notify after an Upload finishes processing.</td><td>Yes</td><td><a href="email-notifications.md">Email</a> <a href="slack-notifications.md">Slack</a></td></tr><tr><td><code>executionOrder</code></td><td>What Flows to run in sequential order (if desired).</td><td>Yes</td><td><a href="execution-order.md">Link</a></td></tr></tbody></table>
Expand All @@ -32,7 +32,7 @@ includeTags:
excludeTags:
- tagNameToExclude

# Robin only configuration
# Cloud only configuration
baselineBranch: main
notifications:
email:
Expand Down
2 changes: 1 addition & 1 deletion cloud/reference/configuring-os-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.\
2 changes: 1 addition & 1 deletion cloud/reference/email-notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.&#x20;
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.&#x20;

In the `config.yaml` file add the list of emails that should receive the notifications:

Expand Down
Loading

0 comments on commit 82cfe34

Please sign in to comment.