From 166accac37c89f62064d5ded1c336453a1f02960 Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Fri, 30 Aug 2024 15:46:34 +0200 Subject: [PATCH] Add docs for 2 new AI commands (#76) * add docs for 2 new AI commands * add usage example * update --- .gitbook/assets/uber_2fa.png | Bin 0 -> 108102 bytes .../commands/assertnodefectswithai.md | 35 +++++++++++++ api-reference/commands/assertwithai.md | 48 ++++++++++++++++++ .../configuration/ai-configuration.md | 38 ++++++++++++++ .../configuration/flow-configuration.md | 3 +- 5 files changed, 122 insertions(+), 2 deletions(-) create mode 100644 .gitbook/assets/uber_2fa.png create mode 100644 api-reference/commands/assertnodefectswithai.md create mode 100644 api-reference/commands/assertwithai.md create mode 100644 api-reference/configuration/ai-configuration.md diff --git a/.gitbook/assets/uber_2fa.png b/.gitbook/assets/uber_2fa.png new file mode 100644 index 0000000000000000000000000000000000000000..3435e75aed8a70b90a1334ba29c37a190f25df7d GIT binary patch literal 108102 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 literal 0 HcmV?d00001 diff --git a/api-reference/commands/assertnodefectswithai.md b/api-reference/commands/assertnodefectswithai.md new file mode 100644 index 0000000..80751b3 --- /dev/null +++ b/api-reference/commands/assertnodefectswithai.md @@ -0,0 +1,35 @@ +# assertNoDefectsWithAI + +{% hint style="warning" %} + +This is an **experimental** feature powered by LLM technology. + +{% endhint %} + +```yaml +- assertNoDefectsWithAI +``` + +Takes a screenshot, uploads it to an LLM with a pre-made prompt, and asks the +model if it sees any obvious defects in the provided screenshot. Common defects +include text and UI elements being cut off, overlapping, or not being centered +within their containers. + +### Output + +Output is generated in HTML and JSON formats in the folder for the individual +test run: + +``` +~/.maestro +└── tests + ├── 2024-08-20_213616 + │   ├── ai-(My first flow).json + │   ├── ai-(My second flow).json + │   ├── ai-report-(My first flow).html + │   ├── ai-report-(My second flow).html +``` + +{% content-ref url="ai-configuration.md" %} +[ai-configuration.md](ai-configuration.md) +{% endcontent-ref %} diff --git a/api-reference/commands/assertwithai.md b/api-reference/commands/assertwithai.md new file mode 100644 index 0000000..f213af0 --- /dev/null +++ b/api-reference/commands/assertwithai.md @@ -0,0 +1,48 @@ +# assertWithAI + +{% hint style="warning" %} + +This is an **experimental** feature powered by LLM technology. + +{% endhint %} + +### When to use? + +{% hint style="warning" %} + +As all things generative AI, `assertWithAI` can be very helpful, but don't trust +it blindly. + +{% endhint %} + +`assertWithAI` is useful when it's hard (or even impossible) to write the +assertion using default assertion commands. + +Asserting the presence of a two-factor authentication prompt is a good example. + +
+ +```yaml +- assertWithAI: + assertion: A two-factor authentication prompt, with space for 6 digits, is visible. +``` + + +### Output + +Output is generated in HTML and JSON formats in the folder for the individual +test run: + +``` +~/.maestro +└── tests + ├── 2024-08-20_213616 + │   ├── ai-(My first flow).json + │   ├── ai-(My second flow).json + │   ├── ai-report-(My first flow).html + │   ├── ai-report-(My second flow).html +``` + +{% content-ref url="ai-configuration.md" %} +[ai-configuration.md](ai-configuration.md) +{% endcontent-ref %} diff --git a/api-reference/configuration/ai-configuration.md b/api-reference/configuration/ai-configuration.md new file mode 100644 index 0000000..7f1c842 --- /dev/null +++ b/api-reference/configuration/ai-configuration.md @@ -0,0 +1,38 @@ +# AI features configuration + +Some commands, such as `assertWithAI` and `assertNoDiffWithAI`, use generative +AI models, which are not built directly in Maestro CLI. Therefore, to use such +commands, additional configuration is required. + +### Model + +The default model is the latest GPT-4o. + +You can configure the model to use with the `MAESTRO_CLI_AI_MODEL` env var, for example: + +```console +export MAESTRO_CLI_AI_MODEL=claude-3-5-sonnet-20240620 +``` + +Currently supported: +– GPT family of models from OpenAI +- Claude family of models from Anthropic + +Support for more models and providers is tracked [in this issue](https://github.com/mobile-dev-inc/maestro/issues/1957). + +### API key + +To use this command, an API key for the LLM service is required. To set it, export the +`MAESTRO_CLI_AI_KEY` env var. + +For example, to set the key for OpenAI: + +```console +export MAESTRO_CLI_AI_KEY=sk-4NXxdLXY4H9DZW0Vpf4lT3HuBaFJoz1zoL21eLoLRKlyXd69 +``` + +or for Anthropic: + +```console +export MAESTRO_CLI_AI_KEY=sk-ant-api03-U9vWi8GDrxRAvA2RL2RMCImYCQr8BFCbNOq2woeRXLNz2Iy4PbY1X2137leSm92mitI7F9IwxKIrXtXgTIzj7A-2AvgbwAA +``` diff --git a/api-reference/configuration/flow-configuration.md b/api-reference/configuration/flow-configuration.md index 71ae6ec..7b1d8d4 100644 --- a/api-reference/configuration/flow-configuration.md +++ b/api-reference/configuration/flow-configuration.md @@ -9,8 +9,7 @@ The following properties can be configured on a given Flow: * `onFlowStart`: This is a hook that takes a list of Maestro commands as an argument. These commands will be executed before the initiation of each flow. Typically, this hook is used to run various setup scripts. * `onFlowComplete`: This hook accepts a list of Maestro commands that are executed upon the completion of each flow. It's important to note that these commands will run regardless of whether a particular flow has ended successfully or has encountered a failure. Typically, this hook is used to run various teardown / cleanup scripts. -```yaml -# flow.yaml +```yaml title="flow.yaml" appId: my.app name: Custom Flow name tags: