testdriverai 6.1.10 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/acceptance-tests.yml +0 -2
- package/.github/workflows/acceptance-v6.yml +0 -2
- package/.github/workflows/lint.yml +1 -4
- package/.github/workflows/publish-canary.yml +0 -2
- package/.github/workflows/publish-latest.yml +0 -1
- package/.prettierignore +0 -1
- package/.vscode/settings.json +1 -4
- package/agent/events.js +10 -1
- package/agent/index.js +76 -104
- package/agent/interface.js +6 -43
- package/agent/lib/censorship.js +10 -15
- package/agent/lib/commander.js +18 -31
- package/agent/lib/commands.js +63 -81
- package/agent/lib/debugger-server.js +5 -0
- package/agent/lib/generator.js +2 -2
- package/agent/lib/redraw.js +1 -0
- package/agent/lib/sandbox.js +2 -0
- package/agent/lib/sdk.js +1 -2
- package/agent/lib/source-mapper.js +1 -1
- package/agent/lib/system.js +6 -1
- package/docs/account/enterprise.mdx +12 -8
- package/docs/account/pricing.mdx +2 -2
- package/docs/account/projects.mdx +0 -5
- package/docs/cli/overview.mdx +6 -6
- package/docs/commands/assert.mdx +0 -1
- package/docs/commands/hover-text.mdx +1 -3
- package/docs/commands/match-image.mdx +4 -5
- package/docs/commands/press-keys.mdx +8 -6
- package/docs/commands/scroll-until-image.mdx +7 -8
- package/docs/commands/scroll-until-text.mdx +6 -7
- package/docs/commands/wait-for-image.mdx +4 -5
- package/docs/commands/wait-for-text.mdx +5 -6
- package/docs/docs.json +40 -42
- package/docs/getting-started/vscode.mdx +56 -67
- package/docs/guide/environment-variables.mdx +5 -5
- package/docs/overview/comparison.mdx +39 -22
- package/docs/overview/quickstart.mdx +32 -84
- package/docs/styles.css +1 -10
- package/interfaces/cli/lib/base.js +6 -27
- package/interfaces/cli/utils/factory.js +4 -17
- package/interfaces/logger.js +5 -4
- package/interfaces/readline.js +1 -1
- package/package.json +3 -3
- package/schema.json +2 -22
- package/testdriver/acceptance/hover-text.yaml +1 -2
- package/testdriver/acceptance/prompt.yaml +1 -4
- package/testdriver/acceptance/scroll-until-image.yaml +0 -5
- package/testdriver/{lifecycle/prerun.yaml → examples/web/lifecycle/provision.yaml} +0 -6
- package/testdriver/lifecycle/provision.yaml +20 -0
- package/.github/workflows/self-hosted.yml +0 -102
- package/docs/apps/tauri-apps.mdx +0 -361
- package/docs/getting-started/playwright.mdx +0 -342
- package/docs/getting-started/self-hosting.mdx +0 -370
- package/docs/guide/dashcam.mdx +0 -118
- package/docs/images/content/self-hosted/launchtemplateid.png +0 -0
- package/docs/images/content/vscode/ide-full.png +0 -0
- package/docs/images/content/vscode/running.png +0 -0
- package/interfaces/cli/commands/generate.js +0 -3
- package/setup/aws/cloudformation.yaml +0 -463
- package/setup/aws/spawn-runner.sh +0 -190
- package/testdriver/edge-cases/js-exception.yaml +0 -8
- package/testdriver/edge-cases/js-promise.yaml +0 -19
- package/testdriver/edge-cases/lifecycle/postrun.yaml +0 -10
- package/testdriver/edge-cases/success-test.yaml +0 -9
- package/testdriver/examples/web/lifecycle/postrun.yaml +0 -7
- package/testdriver/examples/web/lifecycle/prerun.yaml +0 -17
- package/testdriver/lifecycle/postrun.yaml +0 -7
|
@@ -24,15 +24,15 @@ We specialize in testing scenarios that other tools can't handle - desktop appli
|
|
|
24
24
|
|
|
25
25
|
## Enterprise Plans
|
|
26
26
|
|
|
27
|
-
TestDriver Enterprise plans start at **$
|
|
27
|
+
TestDriver Enterprise plans start at **$995/month** and include:
|
|
28
28
|
|
|
29
|
-
- A pilot program with our expert team to create 4 custom tests within your first 4 weeks (4x4 Guarantee).
|
|
30
|
-
- 4 parallel tests
|
|
31
29
|
- **12,500 runner minutes per month**: Sufficient capacity for continuous testing of your custom test suite.
|
|
30
|
+
- Enterprise-grade test dashboards with advanced analytics.
|
|
32
31
|
- Full CI/CD pipeline integration with custom configurations.
|
|
33
32
|
- Dedicated infrastructure and ongoing support for complex testing scenarios.
|
|
33
|
+
- Expert test creation and maintenance services.
|
|
34
34
|
|
|
35
|
-
For detailed pricing and contract information
|
|
35
|
+
For detailed pricing and contract information, see [Contract Details](#contract-details). For other plans, visit our [Pricing](/account/pricing) page.
|
|
36
36
|
|
|
37
37
|
<CardGroup cols={3}>
|
|
38
38
|
<Card title="Custom Desktop & Extension Testing">
|
|
@@ -66,14 +66,17 @@ TestDriver Enterprise provides comprehensive support for fast-moving teams with
|
|
|
66
66
|
|
|
67
67
|
Testing complex applications requires more than standard automation tools. Desktop applications, browser extensions, and multi-platform workflows demand specialized infrastructure, custom integrations, and deep technical expertise. TestDriver Enterprise provides the complete solution - from initial setup through ongoing maintenance and support.
|
|
68
68
|
|
|
69
|
+
For more details, see [Contract Details](#contract-details).
|
|
70
|
+
|
|
69
71
|
---
|
|
70
72
|
|
|
71
73
|
## Implementation Process
|
|
72
74
|
|
|
73
75
|
1. **Initial Consultation**: Discuss your specific testing challenges, application architecture, and infrastructure requirements.
|
|
74
|
-
2. **
|
|
75
|
-
3. **
|
|
76
|
-
4. **
|
|
76
|
+
2. **Custom Infrastructure Design**: Configure specialized testing environments tailored to your technology stack and workflow requirements.
|
|
77
|
+
3. **Expert Test Development**: Our team develops 4 custom tests designed specifically for your application's critical user flows and business logic.
|
|
78
|
+
4. **Integration & Deployment**: Implement tests within your CI/CD pipeline with custom monitoring and reporting configurations.
|
|
79
|
+
5. **Team Training & Ongoing Support**: Comprehensive training for your team plus ongoing technical support and consultation.
|
|
77
80
|
|
|
78
81
|
Complex applications - particularly desktop software, browser extensions, and multi-platform workflows - present unique testing challenges that require specialized infrastructure and deep technical expertise. TestDriver Enterprise addresses these challenges with custom solutions designed specifically for your application and development process.
|
|
79
82
|
|
|
@@ -83,6 +86,7 @@ Complex applications - particularly desktop software, browser extensions, and mu
|
|
|
83
86
|
|
|
84
87
|
| Service | Timeline | Description |
|
|
85
88
|
| --------------------------------- | ------------- | ------------------------------------------------------------------------------------------------ |
|
|
89
|
+
| **Infrastructure Design** | First 7 Days | Analysis and configuration of specialized testing environments for your application stack. |
|
|
86
90
|
| **Requirements Analysis** | First 7 Days | Comprehensive review of testing requirements and technical specifications. |
|
|
87
91
|
| **Custom Test Development** | First 4 Weeks | Expert creation of 4 fully customized tests (4x4 Guarantee) tailored to your critical workflows. |
|
|
88
92
|
| **Training & Knowledge Transfer** | First 30 Days | Technical training for your team and establishment of ongoing support processes. |
|
|
@@ -99,7 +103,7 @@ Complex applications - particularly desktop software, browser extensions, and mu
|
|
|
99
103
|
- **Service Level**: Dedicated support team and technical consultation included.
|
|
100
104
|
- **Usage Tracking**: Monthly runner minute allocation with standard overage rates.
|
|
101
105
|
- **Custom Infrastructure**: Specialized testing environments included for complex applications.
|
|
102
|
-
- **Enterprise Options**:
|
|
106
|
+
- **Enterprise Options**: On-premises and BYOC (Bring Your Own Cloud) configurations available.
|
|
103
107
|
|
|
104
108
|
---
|
|
105
109
|
|
package/docs/account/pricing.mdx
CHANGED
|
@@ -19,12 +19,12 @@ TestDriver offers a range of pricing plans to suit different needs, from individ
|
|
|
19
19
|
</Card>
|
|
20
20
|
<Card title="Enterprise" icon="shield">
|
|
21
21
|
Need advanced features? Contact us for tailored solutions. Starting at
|
|
22
|
-
$
|
|
22
|
+
$995/month.
|
|
23
23
|
</Card>
|
|
24
24
|
</CardGroup>
|
|
25
25
|
|
|
26
26
|
<Tip>
|
|
27
|
-
Every plan
|
|
27
|
+
Every plan starts with $100 in TestDriver credits to get you off the starting
|
|
28
28
|
line!
|
|
29
29
|
</Tip>
|
|
30
30
|
|
|
@@ -23,11 +23,6 @@ From the Project view, you can see all the replays (Dashes) stored for that proj
|
|
|
23
23
|
|
|
24
24
|
When you create a new Project, you can also enable the <Icon icon="jira" /> Jira integration to create issues automatically each time a replay (Dash) is created.
|
|
25
25
|
|
|
26
|
-
<Info>
|
|
27
|
-
The project ID can be used in conjunction with your `lifecycle/postrun.yaml`
|
|
28
|
-
script to automatically assign a replay to a project. For more info see the
|
|
29
|
-
(Dashcam section)[/guide/dashcam].
|
|
30
|
-
</Info>
|
|
31
26
|
<Frame caption="Click a Project to view its replays">
|
|
32
27
|
<img src="/images/content/account/newprojectsettings.png" />
|
|
33
28
|
</Frame>
|
package/docs/cli/overview.mdx
CHANGED
|
@@ -15,11 +15,11 @@ npx testdriverai@latest <command> [options]
|
|
|
15
15
|
|
|
16
16
|
## Available commands
|
|
17
17
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
| [`edit`](/commands/edit)
|
|
22
|
-
| [`help`](/commands/help)
|
|
18
|
+
| Command | Description |
|
|
19
|
+
| :--------------------: | :----------------------------------------------------------- |
|
|
20
|
+
| [`run`](/commands/run) | Executes a TestDriver test. |
|
|
21
|
+
| [`edit`](/commands/edit) | Launch interactive mode. |
|
|
22
|
+
| [`help`](/commands/help) | Displays help information for the CLI or a specific command. |
|
|
23
23
|
|
|
24
24
|
## Available Flags
|
|
25
25
|
|
|
@@ -27,9 +27,9 @@ npx testdriverai@latest <command> [options]
|
|
|
27
27
|
| :------------------ | :----------------------------------------------------------------------------------------- |
|
|
28
28
|
| `--heal` | Launch exploratory mode and attemp to recover if an error or failing state is encountered. |
|
|
29
29
|
| `--write` | Ovewrite test file with new commands resulting from agentic testing |
|
|
30
|
+
| `--headless` | Run test without opening a browser window (useful for CI/CD environments) |
|
|
30
31
|
| `--new` | Create a new sandbox environment for the test run. |
|
|
31
32
|
| `--summary=<value>` | Output file where AI summary should be saved. |
|
|
32
|
-
| `--junit=<value>` | Output file where junit report should be saved. |
|
|
33
33
|
|
|
34
34
|
## Example usage
|
|
35
35
|
|
package/docs/commands/assert.mdx
CHANGED
|
@@ -22,7 +22,6 @@ The `assert` command validates that a specific condition is true. It ensures tha
|
|
|
22
22
|
| -------- | --------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
23
23
|
| `expect` | `string` | The condition to check. This should describe what you expect to see on the screen. |
|
|
24
24
|
| `async` | `boolean` | (Optional) If set to `true`, the test will continue without waiting for the assertion to pass. Default is `false`. |
|
|
25
|
-
| `invert` | `boolean` | (Optional) If set to `true`, will fail if the assertion passes. |
|
|
26
25
|
|
|
27
26
|
## Example usage
|
|
28
27
|
|
|
@@ -24,7 +24,6 @@ The `hover-text` command is used to locate text on the screen based on a descrip
|
|
|
24
24
|
| `description` | `string` | A description of the text and what it represents. The actual text itself shouldn't be included here. |
|
|
25
25
|
| `action` | `string` | The action to take when the text is found. Available actions are: `click`, `right-click`, `double-click`, `hover`. Also supports `drag-start` and `drag-end` for [dragging text](/commands/hover-image#drag-functionality). |
|
|
26
26
|
| `method` | `enum` | The matching algorithm to use. Possible values are `turbo` (default) and `ai`. |
|
|
27
|
-
| `timeout` | `number` | **(Optional)** The duration in milliseconds to wait for the text to appear. Default is `5000` (5 seconds). |
|
|
28
27
|
|
|
29
28
|
## Example usage
|
|
30
29
|
|
|
@@ -33,12 +32,11 @@ command: hover-text
|
|
|
33
32
|
text: Sign Up
|
|
34
33
|
description: link in the header
|
|
35
34
|
action: click
|
|
36
|
-
timeout: 10000 # 10 seconds
|
|
37
35
|
```
|
|
38
36
|
|
|
39
37
|
## Gotchas
|
|
40
38
|
|
|
41
|
-
- If the text can't be located,
|
|
39
|
+
- If the text can't be located, the command will fail. Ensure the text is visible on the screen and matches exactly.
|
|
42
40
|
- Variations in font size, style, or screen resolution may affect detection accuracy.
|
|
43
41
|
|
|
44
42
|
## Notes
|
|
@@ -18,11 +18,10 @@ The `match-image` command is used to locate an image on the screen by matching i
|
|
|
18
18
|
|
|
19
19
|
## Arguments
|
|
20
20
|
|
|
21
|
-
| Argument | Type
|
|
22
|
-
| -------- |
|
|
23
|
-
| `path` | `string`
|
|
24
|
-
| `action` | `string`
|
|
25
|
-
| `invert` | `boolean` | (Optional) If set to `true`, the command will pass when the specified image is NOT detected. Default is `false`. |
|
|
21
|
+
| Argument | Type | Description |
|
|
22
|
+
| -------- | -------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `path` | `string` | The path to the image that needs to be matched. The path needs to be relative to the current test file |
|
|
24
|
+
| `action` | `string` | The action to take when the image is found. Available actions are: `click`, `right-click`, `double-click`, `hover`. Also supports `drag-start` and `drag-end` for [dragging images](/commands/hover-image#drag-functionality) |
|
|
26
25
|
|
|
27
26
|
## Example usage
|
|
28
27
|
|
|
@@ -28,7 +28,8 @@ The keys supported are the standard [Windows keys](https://learn.microsoft.com/e
|
|
|
28
28
|
|
|
29
29
|
<Tabs>
|
|
30
30
|
<Tab title="Modifiers">
|
|
31
|
-
- `ctrl`, `shift`, `alt`, `command`, `option`, `win`
|
|
31
|
+
- `ctrl`, `shift`, `alt`, `command`, `option`, `win`
|
|
32
|
+
- Left/right variants:
|
|
32
33
|
`ctrlleft`, `ctrlright`, `shiftleft`, `shiftright`, `altleft`, `altright`,
|
|
33
34
|
`optionleft`, `optionright`, `winleft`, `winright`
|
|
34
35
|
</Tab>
|
|
@@ -36,7 +37,9 @@ The keys supported are the standard [Windows keys](https://learn.microsoft.com/e
|
|
|
36
37
|
- All ASCII printable characters: letters `a`–`z`, digits `0`–`9`, common
|
|
37
38
|
punctuation, and `space`.
|
|
38
39
|
</Tab>
|
|
39
|
-
<Tab title="Function keys"
|
|
40
|
+
<Tab title="Function keys">
|
|
41
|
+
- `f1`–`f24`
|
|
42
|
+
</Tab>
|
|
40
43
|
<Tab title="Navigation">
|
|
41
44
|
- `up`, `down`, `left`, `right`, `home`, `end`, `pageup`, `pagedown`,
|
|
42
45
|
`pgup`, `pgdn`
|
|
@@ -54,10 +57,9 @@ The keys supported are the standard [Windows keys](https://learn.microsoft.com/e
|
|
|
54
57
|
`separator`
|
|
55
58
|
</Tab>
|
|
56
59
|
<Tab title="Media & Browser">
|
|
57
|
-
- `playpause`, `stop`, `nexttrack`, `prevtrack`, `volumedown`, `volumeup`,
|
|
58
|
-
|
|
59
|
-
`
|
|
60
|
-
`launchapp1`, `launchapp2`, `launchmail`, `launchmediaselect`
|
|
60
|
+
- `playpause`, `stop`, `nexttrack`, `prevtrack`, `volumedown`, `volumeup`, `volumemute`
|
|
61
|
+
- `browserback`, `browserforward`, `browserrefresh`, `browsersearch`, `browserstop`, `browserfavorites`, `browserhome`
|
|
62
|
+
- `launchapp1`, `launchapp2`, `launchmail`, `launchmediaselect`
|
|
61
63
|
</Tab>
|
|
62
64
|
<Tab title="IME / International">
|
|
63
65
|
- `hangul`, `hanguel`, `hanja`, `junja`, `kana`, `kanji`, `modechange`,
|
|
@@ -18,14 +18,13 @@ The `scroll-until-image` command is used to scroll the screen in a specified dir
|
|
|
18
18
|
|
|
19
19
|
## Arguments
|
|
20
20
|
|
|
21
|
-
| Argument | Type
|
|
22
|
-
| :-----------: |
|
|
23
|
-
| `description` | `string`
|
|
24
|
-
| `direction` | `string`
|
|
25
|
-
| `distance` | `number`
|
|
26
|
-
| `method` | `string`
|
|
27
|
-
| `path` | `string`
|
|
28
|
-
| `invert` | `boolean` | (Optional) If set to `true`, the command will scroll until the specified image is NOT detected. Default is `false`. |
|
|
21
|
+
| Argument | Type | Description |
|
|
22
|
+
| :-----------: | :------: | :---------------------------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `description` | `string` | A description of the image and what it represents. |
|
|
24
|
+
| `direction` | `string` | (Optional) The direction to scroll. Available directions are: `up`, `down`, `left`, `right`. Defaults to `down`. |
|
|
25
|
+
| `distance` | `number` | (Optional) The maximum number of pixels to scroll before giving up. Default is `10000`. |
|
|
26
|
+
| `method` | `string` | (Optional) The method to use to scroll the page. Available methods are: `mouse` and `keyboard`. Defaults to `keyboard`. |
|
|
27
|
+
| `path` | `string` | (Optional) The relative path to the image file that needs to be matched on the screen. |
|
|
29
28
|
|
|
30
29
|
<Note>
|
|
31
30
|
Use either the `description` or `path` argument to match an image on the
|
|
@@ -18,13 +18,12 @@ The `scroll-until-text` command is used to scroll the screen in a specified dire
|
|
|
18
18
|
|
|
19
19
|
## Arguments
|
|
20
20
|
|
|
21
|
-
| Argument | Type
|
|
22
|
-
| :---------: |
|
|
23
|
-
| `text` | `string`
|
|
24
|
-
| `direction` | `string`
|
|
25
|
-
| `method` | `string`
|
|
26
|
-
| `distance` | `number`
|
|
27
|
-
| `invert` | `boolean` | (Optional) If set to `true`, the command will scroll until the specified text is NOT detected. Default is `false`. |
|
|
21
|
+
| Argument | Type | Description |
|
|
22
|
+
| :---------: | :------: | :---------------------------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `text` | `string` | The text to find on the screen. Longer and unique are better. Note this is **case sensitive** |
|
|
24
|
+
| `direction` | `string` | (Optional) The direction to scroll. Available directions are: `up`, `down`, `left`, `right`. Defaults to `down`. |
|
|
25
|
+
| `method` | `string` | (Optional) The method to use to scroll the page. Available methods are: `mouse` and `keyboard`. Defaults to `keyboard`. |
|
|
26
|
+
| `distance` | `number` | (Optional) The maximum number of pixels to scroll before giving up. Default is `10000`. |
|
|
28
27
|
|
|
29
28
|
<Note>
|
|
30
29
|
If the method is `keyboard` it just searches for the string by doing `ctrl + f`.
|
|
@@ -18,11 +18,10 @@ The `wait-for-image` command waits until the specified image is detected on the
|
|
|
18
18
|
|
|
19
19
|
## Arguments
|
|
20
20
|
|
|
21
|
-
| Argument | Type
|
|
22
|
-
| :-----------: |
|
|
23
|
-
| `description` | `string`
|
|
24
|
-
| `timeout` | `number`
|
|
25
|
-
| `invert` | `boolean` | (Optional) If set to `true`, the command will wait until the specified image is NOT detected. Default is `false`. |
|
|
21
|
+
| Argument | Type | Description |
|
|
22
|
+
| :-----------: | :------: | :-------------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `description` | `string` | A description of the image. |
|
|
24
|
+
| `timeout` | `number` | (Optional) The duration in milliseconds to wait for the image to appear. Default is `10000` (10 seconds). |
|
|
26
25
|
|
|
27
26
|
## Example usage
|
|
28
27
|
|
|
@@ -18,12 +18,11 @@ The `wait-for-text` command waits until the specified text is detected on the sc
|
|
|
18
18
|
|
|
19
19
|
## Arguments
|
|
20
20
|
|
|
21
|
-
| Argument | Type
|
|
22
|
-
| :-------: |
|
|
23
|
-
| `text` | `string`
|
|
24
|
-
| `timeout` | `number`
|
|
25
|
-
| `method` | `enum`
|
|
26
|
-
| `invert` | `boolean` | (Optional) If set to `true`, the command will wait until the specified text is NOT detected. Default is `false`. |
|
|
21
|
+
| Argument | Type | Description |
|
|
22
|
+
| :-------: | :------: | :----------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `text` | `string` | The text to find on the screen. |
|
|
24
|
+
| `timeout` | `number` | (Optional) The duration in milliseconds to wait for the text to appear. Default is `5000` (5 seconds). |
|
|
25
|
+
| `method` | `enum` | (Optional) The matching algorithm to use. Possible values are `ai` and `turbo`. Default is `turbo` |
|
|
27
26
|
|
|
28
27
|
## Example usage
|
|
29
28
|
|
package/docs/docs.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"group": "CLI",
|
|
39
39
|
"icon": "terminal",
|
|
40
40
|
"pages": [
|
|
41
|
+
"/getting-started/cli",
|
|
41
42
|
"/cli/overview",
|
|
42
43
|
{
|
|
43
44
|
"group": "Commands",
|
|
@@ -49,10 +50,7 @@
|
|
|
49
50
|
]
|
|
50
51
|
}
|
|
51
52
|
]
|
|
52
|
-
}
|
|
53
|
-
"/getting-started/self-hosting",
|
|
54
|
-
"/getting-started/playwright",
|
|
55
|
-
"/getting-started/vscode"
|
|
53
|
+
}
|
|
56
54
|
]
|
|
57
55
|
},
|
|
58
56
|
{
|
|
@@ -65,8 +63,7 @@
|
|
|
65
63
|
"apps/static-websites",
|
|
66
64
|
"apps/desktop-apps",
|
|
67
65
|
"apps/chrome-extensions",
|
|
68
|
-
"apps/mobile-apps"
|
|
69
|
-
"apps/tauri-apps"
|
|
66
|
+
"apps/mobile-apps"
|
|
70
67
|
]
|
|
71
68
|
},
|
|
72
69
|
{
|
|
@@ -103,7 +100,6 @@
|
|
|
103
100
|
"/guide/authentication",
|
|
104
101
|
"/guide/variables",
|
|
105
102
|
"/guide/lifecycle",
|
|
106
|
-
"/guide/dashcam",
|
|
107
103
|
"/guide/environment-variables",
|
|
108
104
|
"/action/ami"
|
|
109
105
|
]
|
|
@@ -157,32 +153,39 @@
|
|
|
157
153
|
{
|
|
158
154
|
"group": "Reference",
|
|
159
155
|
"pages": [
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
"/commands/type",
|
|
178
|
-
"/commands/wait",
|
|
179
|
-
"/commands/wait-for-image",
|
|
180
|
-
"/commands/wait-for-text"
|
|
181
|
-
]
|
|
182
|
-
}
|
|
156
|
+
"/commands/assert",
|
|
157
|
+
"/commands/exec",
|
|
158
|
+
"/commands/focus-application",
|
|
159
|
+
"/commands/hover-image",
|
|
160
|
+
"/commands/hover-text",
|
|
161
|
+
"/commands/if",
|
|
162
|
+
"/commands/match-image",
|
|
163
|
+
"/commands/press-keys",
|
|
164
|
+
"/commands/remember",
|
|
165
|
+
"/commands/run",
|
|
166
|
+
"/commands/scroll",
|
|
167
|
+
"/commands/scroll-until-image",
|
|
168
|
+
"/commands/scroll-until-text",
|
|
169
|
+
"/commands/type",
|
|
170
|
+
"/commands/wait",
|
|
171
|
+
"/commands/wait-for-image",
|
|
172
|
+
"/commands/wait-for-text"
|
|
183
173
|
]
|
|
184
174
|
}
|
|
185
|
-
]
|
|
175
|
+
],
|
|
176
|
+
"global": {
|
|
177
|
+
"anchors": [
|
|
178
|
+
{
|
|
179
|
+
"anchor": "Book a Demo",
|
|
180
|
+
"href": "https://testdriver.ai/demo",
|
|
181
|
+
"icon": "calendar"
|
|
182
|
+
}
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"modeToggle": {
|
|
187
|
+
"enabled": false,
|
|
188
|
+
"default": "dark"
|
|
186
189
|
},
|
|
187
190
|
"logo": {
|
|
188
191
|
"light": "/images/template/light.png",
|
|
@@ -195,18 +198,13 @@
|
|
|
195
198
|
"label": "Discord",
|
|
196
199
|
"icon": "discord",
|
|
197
200
|
"href": "https://discord.com/invite/cWDFW8DzPm"
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
"label": "Book a Demo",
|
|
201
|
-
"href": "https://form.typeform.com/to/UECf9rDx?typeform-source=docs.testdriver.ai",
|
|
202
|
-
"icon": "calendar"
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
"icon": "gauge-high",
|
|
206
|
-
"label": "Dashboard",
|
|
207
|
-
"href": "https://app.testdriver.ai"
|
|
208
201
|
}
|
|
209
|
-
]
|
|
202
|
+
],
|
|
203
|
+
"primary": {
|
|
204
|
+
"type": "button",
|
|
205
|
+
"label": "Dashboard",
|
|
206
|
+
"href": "https://app.testdriver.ai"
|
|
207
|
+
}
|
|
210
208
|
},
|
|
211
209
|
"footer": {
|
|
212
210
|
"socials": {
|
|
@@ -1,86 +1,75 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Install the TestDriver VS Code Extension"
|
|
3
|
-
sidebarTitle: "VS Code"
|
|
3
|
+
sidebarTitle: "VS Code Setup"
|
|
4
4
|
description: "Comprehensive guide to installing and setting up TestDriver for VS Code"
|
|
5
5
|
icon: "file-code"
|
|
6
|
-
tag: BETA
|
|
7
6
|
---
|
|
8
7
|
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
The TestDriver VS Code extension is a powerful tool that integrates TestDriver's AI-driven test generation capabilities directly into your development environment:
|
|
19
|
-
|
|
20
|
-
- Get started with example scripts for different platforms
|
|
21
|
-
- Get syntax highlighting and autocompletion for [TestDriver YAML](/getting-started/editing)
|
|
22
|
-
- Chat with the TestDriver agent to generate tests based on your requirements
|
|
23
|
-
- Save and manage your tests directly within your project
|
|
24
|
-
- Run and debug tests directly from the IDE
|
|
25
|
-
- View test results and logs within the IDE
|
|
26
|
-
|
|
27
|
-
<Tip>
|
|
28
|
-
The TestDriver VS Code Extension is currently in beta. If you encounter any
|
|
29
|
-
issues or have feedback, please let us know [in
|
|
30
|
-
Discord](https://discord.com/invite/cWDFW8DzPm)
|
|
31
|
-
</Tip>
|
|
8
|
+
<Card
|
|
9
|
+
title="Get the VS Code Extension"
|
|
10
|
+
icon="link"
|
|
11
|
+
href="https://marketplace.visualstudio.com/items?itemName=testdriver.testdriver"
|
|
12
|
+
>
|
|
13
|
+
Turn your IDE into a powerful computer-use automation tool with our VS Code
|
|
14
|
+
extension.
|
|
15
|
+
</Card>
|
|
32
16
|
|
|
33
17
|
<Steps>
|
|
34
|
-
<Step title="
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
href="vscode:extension/testdriver.testdriver"
|
|
43
|
-
icon="/images/content/extension/vscode.svg"
|
|
44
|
-
></Card>
|
|
45
|
-
|
|
46
|
-
<Card
|
|
47
|
-
horizontal
|
|
48
|
-
title="Cursor"
|
|
49
|
-
arrow
|
|
50
|
-
href="cursor:extension/testdriver.testdriver"
|
|
51
|
-
icon="/images/content/extension/cursor.svg"
|
|
52
|
-
|
|
53
|
-
> </Card>
|
|
54
|
-
|
|
55
|
-
<Card
|
|
56
|
-
horizontal
|
|
57
|
-
title="Windsurf"
|
|
58
|
-
arrow
|
|
59
|
-
href="windsurf:extension/testdriver.testdriver"
|
|
60
|
-
icon="/images/content/extension/windsurf.svg"
|
|
61
|
-
></Card>
|
|
18
|
+
<Step title="Initialize Your Project" stepNumber={1}>
|
|
19
|
+
Set up your project with:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx testdriverai@latest init
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
This creates a `.env` file and sample workflow files.
|
|
62
26
|
|
|
63
27
|
</Step>
|
|
64
|
-
<Step title="
|
|
65
|
-
|
|
66
|
-
After installing the extension, you'll need to set your TestDriver API key in the extension settings.
|
|
28
|
+
<Step title="Run TestDriver in Interactive Mode" stepNumber={2}>
|
|
29
|
+
Start TestDriver in interactive mode to create and refine tests dynamically:
|
|
67
30
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
4. Find the "TestDriver: Set API Key" field and enter your API key from [the TestDriver dashboard](https://app.testdriver.ai/team).
|
|
31
|
+
```bash
|
|
32
|
+
npx testdriverai@latest
|
|
33
|
+
```
|
|
72
34
|
|
|
73
|
-
|
|
35
|
+
Once started, you can use commands like `/explore`, `/run`, and `/save` to interactively build and test your flows.
|
|
74
36
|
|
|
75
37
|
</Step>
|
|
76
|
-
<Step title="
|
|
77
|
-
|
|
38
|
+
<Step title="Define Your Test Steps" stepNumber={3}>
|
|
39
|
+
Use natural language to describe what you want to test. For example:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
> Open Google Chrome and search for "testdriverai"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
TestDriver will generate steps like:
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
- command: focus-application
|
|
49
|
+
name: Google Chrome
|
|
50
|
+
- command: hover-text
|
|
51
|
+
text: Search Google or type a URL
|
|
52
|
+
description: main search bar
|
|
53
|
+
action: click
|
|
54
|
+
- command: type
|
|
55
|
+
text: testdriverai
|
|
56
|
+
- command: press-keys
|
|
57
|
+
keys:
|
|
58
|
+
- enter
|
|
59
|
+
```
|
|
60
|
+
|
|
78
61
|
</Step>
|
|
79
|
-
<Step title="
|
|
80
|
-
|
|
62
|
+
<Step title="Refine and Save Your Test" stepNumber={4}>
|
|
63
|
+
- Save your test with `/save` to generate a reusable YAML file.
|
|
64
|
+
- Use `/run` to run the test.
|
|
81
65
|
</Step>
|
|
82
|
-
<Step title="Run
|
|
83
|
-
|
|
66
|
+
<Step title="Run Saved Tests" stepNumber={5}>
|
|
67
|
+
Once saved, you can run your test file anytime:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx testdriverai@latest run path/to/test.yaml
|
|
71
|
+
```
|
|
72
|
+
|
|
84
73
|
</Step>
|
|
85
74
|
</Steps>
|
|
86
75
|
|
|
@@ -11,13 +11,13 @@ import GitignoreWarning from "/snippets/gitignore-warning.mdx";
|
|
|
11
11
|
The supported environment variables in TestDriver are:
|
|
12
12
|
|
|
13
13
|
<div className="env-vars-table">
|
|
14
|
-
|
|
|
14
|
+
| Variable | Type | Description |
|
|
15
15
|
|:---------------:|:---------:|---------------------------------------------------------------------------------|
|
|
16
|
-
| TD_ANALYTICS
|
|
17
|
-
|
|
18
|
-
spawn VMs with TestDriver Pro. |
|
|
16
|
+
| TD_ANALYTICS | boolean | Send analytics to TestDriver servers. This helps provide feedback to inform our roadmap. |
|
|
17
|
+
| TD_API_KEY | string | Set this to spawn VMs with TestDriver Pro. |
|
|
19
18
|
</div>
|
|
20
|
-
|
|
19
|
+
|
|
20
|
+
<GitignoreWarning/>
|
|
21
21
|
## Example
|
|
22
22
|
|
|
23
23
|
```bash .env
|