@testdriverai/agent 7.11.229-canary → 7.11.231-test

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.
Files changed (100) hide show
  1. package/docs/_data/examples-manifest.json +16 -16
  2. package/docs/_scripts/generate-examples.js +38 -45
  3. package/docs/agent.mdx +174 -93
  4. package/docs/assert.mdx +73 -269
  5. package/docs/aws-setup.mdx +196 -314
  6. package/docs/bring-your-own-machine.mdx +139 -206
  7. package/docs/cache.mdx +144 -151
  8. package/docs/caching.mdx +99 -89
  9. package/docs/captcha.mdx +126 -111
  10. package/docs/ci-cd.mdx +154 -543
  11. package/docs/click.mdx +74 -229
  12. package/docs/client.mdx +177 -231
  13. package/docs/copilot/auto-healing.mdx +86 -370
  14. package/docs/copilot/running-tests.mdx +121 -930
  15. package/docs/customizing-devices.mdx +74 -251
  16. package/docs/dashcam.mdx +72 -405
  17. package/docs/debugging-with-screenshots.mdx +105 -371
  18. package/docs/docs.json +75 -18
  19. package/docs/double-click.mdx +48 -68
  20. package/docs/errors.mdx +102 -176
  21. package/docs/events.mdx +170 -327
  22. package/docs/examples/{hover-text-with-description.mdx → add-to-cart.mdx} +30 -35
  23. package/docs/examples/assert.mdx +28 -41
  24. package/docs/examples/click-button.mdx +71 -0
  25. package/docs/examples/{hover-image.mdx → click-icon.mdx} +32 -28
  26. package/docs/examples/element-not-found.mdx +27 -26
  27. package/docs/examples/findall-coffee-icons.mdx +28 -32
  28. package/docs/examples/installer.mdx +61 -25
  29. package/docs/examples/launch-vscode-linux.mdx +28 -51
  30. package/docs/examples/navigate-and-scroll.mdx +82 -0
  31. package/docs/examples/parse.mdx +24 -28
  32. package/docs/examples/press-keys.mdx +28 -25
  33. package/docs/examples/scroll.mdx +25 -27
  34. package/docs/examples/type.mdx +26 -21
  35. package/docs/exec.mdx +92 -256
  36. package/docs/extract.mdx +69 -170
  37. package/docs/find.mdx +140 -736
  38. package/docs/focus-application.mdx +69 -246
  39. package/docs/generating-tests.mdx +103 -137
  40. package/docs/guide/best-practices-polling.mdx +65 -141
  41. package/docs/hosted.mdx +80 -144
  42. package/docs/hover.mdx +62 -235
  43. package/docs/locating-elements.mdx +74 -369
  44. package/docs/making-assertions.mdx +116 -74
  45. package/docs/mcp-setup.mdx +80 -63
  46. package/docs/mouse-down.mdx +48 -125
  47. package/docs/mouse-up.mdx +47 -129
  48. package/docs/options.mdx +75 -48
  49. package/docs/parse.mdx +95 -184
  50. package/docs/performing-actions.mdx +104 -94
  51. package/docs/press-keys.mdx +59 -299
  52. package/docs/provision.mdx +137 -182
  53. package/docs/quickstart-claude.mdx +85 -0
  54. package/docs/quickstart-github.mdx +62 -32
  55. package/docs/quickstart-manual.mdx +60 -33
  56. package/docs/quickstart-vscode.mdx +97 -0
  57. package/docs/quickstart.mdx +25 -9
  58. package/docs/redraw.mdx +101 -165
  59. package/docs/reusable-code.mdx +97 -200
  60. package/docs/right-click.mdx +47 -89
  61. package/docs/screenshot.mdx +47 -201
  62. package/docs/screenshots.mdx +87 -137
  63. package/docs/scroll.mdx +71 -154
  64. package/docs/secrets.mdx +96 -91
  65. package/docs/self-hosted.mdx +83 -142
  66. package/docs/snippets/enterprise.mdx +15 -0
  67. package/docs/styles.css +68 -0
  68. package/docs/test-results-json.mdx +167 -204
  69. package/docs/type.mdx +56 -304
  70. package/docs/variables.mdx +121 -81
  71. package/docs/wait.mdx +33 -31
  72. package/docs/what-is-testdriver.mdx +80 -32
  73. package/examples/{hover-text-with-description.test.mjs → add-to-cart.test.mjs} +4 -5
  74. package/examples/assert.test.mjs +3 -20
  75. package/examples/{hover-text.test.mjs → click-button.test.mjs} +3 -4
  76. package/examples/{hover-image.test.mjs → click-icon.test.mjs} +5 -6
  77. package/examples/element-not-found.test.mjs +3 -5
  78. package/examples/findall-coffee-icons.test.mjs +3 -3
  79. package/examples/installer.test.mjs +1 -1
  80. package/examples/launch-vscode-linux.test.mjs +6 -33
  81. package/examples/{scroll-keyboard.test.mjs → navigate-and-scroll.test.mjs} +4 -5
  82. package/examples/parse.test.mjs +1 -2
  83. package/examples/press-keys.test.mjs +4 -4
  84. package/examples/scroll.test.mjs +3 -6
  85. package/examples/type.test.mjs +5 -2
  86. package/lib/provision.js +6 -2
  87. package/package.json +1 -1
  88. package/sdk.d.ts +4 -2
  89. package/sdk.js +1 -1
  90. package/docs/claude-mcp-plugin.mdx +0 -244
  91. package/docs/elements.mdx +0 -606
  92. package/docs/examples/ai.mdx +0 -78
  93. package/docs/examples/captcha-api.mdx +0 -92
  94. package/docs/examples/chrome-extension.mdx +0 -156
  95. package/docs/examples/drag-and-drop.mdx +0 -100
  96. package/docs/examples/formatted-logging.mdx +0 -74
  97. package/docs/examples/hover-text.mdx +0 -70
  98. package/docs/examples/match-image.mdx +0 -97
  99. package/docs/examples/scroll-keyboard.mdx +0 -80
  100. package/docs/examples/scroll-until-text.mdx +0 -109
@@ -1,162 +1,103 @@
1
1
  ---
2
- title: "Self-Hosted (Enterprise)"
3
- sidebarTitle: "Self-Hosted"
4
- description: "Our enterprise solution with unlimited test execution, assisted setup, and dedicated support."
2
+ title: "Self-hosted (Enterprise)"
3
+ sidebarTitle: "Self-hosted"
4
+ description: "Run TestDriver sandboxes on your own infrastructure for a flat license fee instead of testing minutes."
5
5
  icon: "server"
6
6
  mode: "wide"
7
7
  ---
8
8
 
9
- Self-hosted is our enterprise solution. Use it for teams that need unlimited test runs, infrastructure control, and dedicated support. The price uses **parallel test capacity** with a flat license fee. There is no per-second bill.
9
+ import { EnterpriseBadge, EnterpriseCta } from '/snippets/enterprise.mdx';
10
+
11
+ On the Enterprise plan, your tests run on machines in your own infrastructure instead of TestDriver's cloud.
12
+
13
+ <EnterpriseCta feature="Self-hosting" />
14
+
15
+ - You pay a flat license fee per parallel test, with no testing minutes to meter.
16
+ - Your app and test data stay in your environment.
17
+ - You use your own AI provider key and your own VM images.
18
+
19
+ ## What runs where
20
+
21
+ Self-hosting moves the machines that run your tests. TestDriver still hosts the rest.
22
+
23
+ | Component | Where it runs |
24
+ | --- | --- |
25
+ | Test sandboxes and runners | Your AWS account, or your own machines |
26
+ | AI calls | Your own Gemini API key |
27
+ | TestDriver API | TestDriver |
28
+ | Console, recordings, and reports | TestDriver, at [console.testdriver.ai](https://console.testdriver.ai) |
29
+
30
+ ## Ways to run sandboxes
10
31
 
11
32
  <CardGroup cols={2}>
12
- <Card title="Unlimited Execution" icon="infinity">
13
- Run as many tests as you want. There is no device-second count. The monthly costs are known.
14
- </Card>
15
- <Card title="Assisted Setup & Support" icon="headset">
16
- Our team helps you to deploy, configure, and optimize your infrastructure. Dedicated engineering support is included.
33
+ <Card title="AWS" icon="aws" href="/aws-setup">
34
+ Start a fresh Windows EC2 instance for each test with CloudFormation.
17
35
  </Card>
18
- <Card title="Full Control" icon="gear">
19
- Use your own AI keys, custom hardware, specific software, and network configurations. Use RDP into the test machines for debug.
20
- </Card>
21
- <Card title="Security & Compliance" icon="shield-check">
22
- Keep the data in your environment. Air-gapped deployment is available for regulated industries.
36
+ <Card title="Your own machine" icon="display" href="/bring-your-own-machine">
37
+ Run the runner on a laptop, lab machine, or on-prem VM.
23
38
  </Card>
24
39
  </CardGroup>
25
40
 
26
- ## Deployment Options
41
+ Self-hosted teams that use their own AI key can't use TestDriver's managed Windows sandboxes. Run Windows tests on your own instances instead.
27
42
 
28
- Select the level of control that you need:
43
+ ## Use your own AI key
29
44
 
30
- | Component | Standard | Air-Gapped |
31
- |-----------|----------|------------|
32
- | **Test Sandboxes** | Your AWS | Your infrastructure (any cloud or on-prem) |
33
- | **Dashboard** | TestDriver hosted | Your infrastructure |
34
- | **API** | TestDriver hosted | Your infrastructure |
35
- | **AI Processing** | Your API keys | Your infrastructure |
36
- | **Data Storage** | Your AWS account | 100% your infrastructure |
37
- | **Network** | Internet access required | Fully air-gapped |
38
- | **Cloud Providers** | AWS | AWS, Azure, GCP, on-prem |
45
+ Self-hosted teams send AI requests through their own Google Gemini key. Add it on the [API keys page](https://console.testdriver.ai/team/api-keys) under **Business API Keys**.
39
46
 
40
- ### Standard Deployment
47
+ <Note>
48
+ The key must be a [Gemini Enterprise Agent Platform express mode API key](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/start/api-keys?usertype=expressmode). Google AI Studio keys aren't supported.
49
+ </Note>
41
50
 
42
- Run test sandboxes on your AWS infrastructure while using TestDriver's hosted dashboard and API:
51
+ The same page has optional fields for an OpenRouter key and an E2B key.
43
52
 
44
- - **Quick setup** via CloudFormation — deploy in hours
45
- - **Dashboard access** at [console.testdriver.ai](https://console.testdriver.ai)
46
- - **Your AI keys** — control costs with your own OpenAI, Anthropic, or other provider
47
- - **Custom AMIs** — install specific software, configure networking
53
+ ## Use custom VM images
48
54
 
49
- <Note>
50
- **Bring your own Gemini API key.** TestDriver uses Google Gemini for vision and reasoning. When supplying your own Gemini key, it must be a [Gemini Enterprise Agent Platform express mode API key](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/start/api-keys?usertype=expressmode) — standard Google AI Studio (Generative Language API) keys are not supported for self-hosted deployments.
51
- </Note>
55
+ Build a VM image with your apps, dependencies, and test data preinstalled, so tests skip setup steps.
52
56
 
53
- <CardGroup cols={2}>
54
- <Card
55
- title="AWS Setup Guide"
56
- icon="aws"
57
- href="/aws-setup"
58
- >
59
- Step-by-step instructions for deploying TestDriver on your AWS infrastructure using CloudFormation.
60
- </Card>
61
- <Card
62
- title="Run on Your Own Machine"
63
- icon="display"
64
- href="/bring-your-own-machine"
65
- >
66
- Run the runner on a laptop, lab machine, or on-prem VM and drive it from your tests.
67
- </Card>
68
- </CardGroup>
57
+ 1. Start from the TestDriver base image, which TestDriver shares with your AWS account.
58
+ 2. Install your software with the TestDriver Packer scripts, or by hand over RDP.
59
+ 3. Build your own AMI.
60
+ 4. Set `AMI_ID` to your AMI when you run tests. See [AWS setup](/aws-setup#create-a-custom-ami).
61
+
62
+ You can customize, for example:
63
+
64
+ - Applications, browsers, and developer tools.
65
+ - User accounts, proxies, and certificates.
66
+ - Fonts, language packs, and locales.
67
+ - Seeded databases and test fixtures.
68
+
69
+ ## Debug on the machine
70
+
71
+ Self-hosted sandboxes run in your account, so you can connect to a running instance over RDP while a test runs. See [Connect to an instance](/aws-setup#connect-to-an-instance).
72
+
73
+ ## Air-gapped deployment
74
+
75
+ For regulated environments, TestDriver can also deploy the API and console inside your network, on AWS, Azure, GCP, or on-premises. [Contact TestDriver](https://testdriver.ai/enterprise) to discuss it.
76
+
77
+ ## Pricing
78
+
79
+ - A flat monthly fee that includes 2 parallel tests and 5 seats.
80
+ - Unlimited testing, with no per-minute fees.
81
+ - Extra parallel licenses are $250 per month each. Extra seats are $100 per month each.
82
+ - Setup help and support from TestDriver engineers in a shared Slack or Teams channel.
83
+ - A 30-day pilot with a money-back guarantee.
84
+
85
+ See [testdriver.ai/enterprise](https://testdriver.ai/enterprise) for current pricing and terms.
86
+
87
+ ## Hosted or self-hosted
88
+
89
+ | | Hosted | Self-hosted |
90
+ | --- | --- | --- |
91
+ | **Billing** | Testing minutes | Flat license fee |
92
+ | **Sandboxes** | TestDriver's cloud | Your AWS account or machines |
93
+ | **AI key** | TestDriver's | Your own Gemini key |
94
+ | **VM images** | Standard | Your own |
95
+ | **Access to the machine** | Video replays | RDP while tests run |
96
+ | **Mac desktop apps** | No | Yes |
97
+ | **Support** | Community or private | Dedicated engineers |
98
+
99
+ ## Get started
69
100
 
70
- ### Air-Gapped Deployment
71
-
72
- Deploy the entire TestDriver stack in your environment for complete isolation:
73
-
74
- - **Full stack** — dashboard, API, and test infrastructure all in your environment
75
- - **No external dependencies** — data never leaves your network perimeter
76
- - **Any infrastructure** — AWS, Azure, GCP, or on-premises
77
- - **Regulated industries** — government, defense, healthcare, finance
78
-
79
- ## Custom VM Images
80
-
81
- Build test environments with your applications, dependencies, and user data pre-installed. You get full access to:
82
-
83
- - **Golden VM** — our pre-configured base image with TestDriver agent, drivers, and optimizations
84
- - **Packer scripts** — build custom AMIs with your applications, user data, and configurations
85
- - **Faster test startup** — skip installation steps by baking dependencies into your image
86
- - **Consistent environments** — every test runs on an identical, reproducible machine
87
-
88
- <AccordionGroup>
89
- <Accordion title="What can you customize?">
90
- - Install applications (browsers, desktop apps, dev tools)
91
- - Configure user accounts and credentials
92
- - Set up network proxies and certificates
93
- - Install fonts, language packs, and locales
94
- - Pre-seed databases or test fixtures
95
- - Configure Windows/Linux settings
96
- </Accordion>
97
-
98
- <Accordion title="How it works">
99
- 1. We provide our golden VM base image and Packer scripts
100
- 2. You customize the scripts to install your software and configuration
101
- 3. Run Packer to build your custom AMI
102
- 4. Configure TestDriver to use your custom AMI for test sandboxes
103
- 5. Tests spin up with everything pre-installed — no setup time wasted
104
- </Accordion>
105
- </AccordionGroup>
106
-
107
- ## Implementation Process
108
-
109
- <Steps>
110
- <Step title="Discovery Call">
111
- Discuss your requirements, security constraints, and integration needs with our team.
112
- </Step>
113
-
114
- <Step title="Architecture Review">
115
- Our engineers design a deployment architecture that meets your security and compliance requirements.
116
- </Step>
117
-
118
- <Step title="Deployment">
119
- We work with your team to deploy TestDriver, including assisted setup and configuration.
120
- </Step>
121
-
122
- <Step title="Integration">
123
- Connect TestDriver to your CI/CD pipelines, internal tools, and workflows.
124
- </Step>
125
-
126
- <Step title="Training & Handoff">
127
- Comprehensive training for your team on operating and maintaining the deployment.
128
- </Step>
129
- </Steps>
130
-
131
- ## What's Included
132
-
133
- - **Flat license fee** per parallel test slot
134
- - **Unlimited test execution** — no device-second charges
135
- - **Assisted setup** — our team helps you deploy and configure
136
- - **Dedicated support** — direct access to our engineering team
137
- - **Custom contract terms** — volume-based pricing, custom SLAs
138
- - **Professional services** — implementation assistance and training
139
-
140
- ## Comparison: Hosted vs Self-Hosted
141
-
142
- | Feature | Hosted | Self-Hosted |
143
- |---------|--------|-------------|
144
- | **Setup Time** | Minutes | Hours (assisted) |
145
- | **Pricing Model** | Device-seconds | Flat license fee |
146
- | **Infrastructure** | TestDriver | Your AWS or any cloud |
147
- | **AI API Keys** | TestDriver's | Your own |
148
- | **Custom Software** | Limited | Full control |
149
- | **Hardware Selection** | Standard | Your choice |
150
- | **Debugging Access** | Replays only | Full RDP access |
151
- | **Support** | Community/Standard | Dedicated engineering |
152
- | **Air-Gapped Option** | No | Yes |
153
-
154
- ## Get Started
155
-
156
- <Card
157
- title="Schedule a Consultation"
158
- icon="calendar"
159
- href="https://testdriver.ai/enterprise"
160
- >
161
- Discuss your requirements with our team and get a custom proposal for your self-hosted deployment.
101
+ <Card title="Talk to TestDriver" icon="calendar" href="https://testdriver.ai/enterprise">
102
+ Plan a self-hosted deployment with the TestDriver team.
162
103
  </Card>
@@ -0,0 +1,15 @@
1
+ export const EnterpriseBadge = () => (
2
+ <a href="https://testdriver.ai/enterprise/" className="td-enterprise-badge" title="Available on Enterprise plans">
3
+ Enterprise
4
+ </a>
5
+ );
6
+
7
+ export const EnterpriseCta = ({ feature, plural }) => (
8
+ <div className="td-enterprise-cta not-prose">
9
+ <span className="td-enterprise-badge">Enterprise</span>
10
+ <p>{feature} {plural ? "are" : "is"} available on Enterprise plans.</p>
11
+ <a href="https://testdriver.ai/enterprise/" className="td-enterprise-cta-link">
12
+ Talk to us about Enterprise →
13
+ </a>
14
+ </div>
15
+ );
package/docs/styles.css CHANGED
@@ -63,3 +63,71 @@ img[src$="https://tauri.app/favicon.svg"]
63
63
  {
64
64
  opacity: 0.3;
65
65
  }
66
+
67
+ /* Enterprise tag and call-to-action (snippets/enterprise.mdx) */
68
+ .td-enterprise-badge {
69
+ display: inline-block;
70
+ font-size: 11px;
71
+ font-weight: 600;
72
+ letter-spacing: 0.04em;
73
+ text-transform: uppercase;
74
+ line-height: 1;
75
+ padding: 4px 8px;
76
+ border-radius: 999px;
77
+ color: #5b3a00;
78
+ background: #ffe7a8;
79
+ border: 1px solid #f2c94c;
80
+ text-decoration: none !important;
81
+ vertical-align: middle;
82
+ white-space: nowrap;
83
+ }
84
+
85
+ .dark .td-enterprise-badge {
86
+ color: #ffd977;
87
+ background: rgba(242, 201, 76, 0.12);
88
+ border-color: rgba(242, 201, 76, 0.45);
89
+ }
90
+
91
+ .td-enterprise-cta {
92
+ display: flex;
93
+ flex-wrap: wrap;
94
+ align-items: center;
95
+ gap: 8px 12px;
96
+ margin: 16px 0;
97
+ padding: 12px 16px;
98
+ border-radius: 12px;
99
+ border: 1px solid #f2c94c;
100
+ background: #fffaeb;
101
+ }
102
+
103
+ .dark .td-enterprise-cta {
104
+ border-color: rgba(242, 201, 76, 0.35);
105
+ background: rgba(242, 201, 76, 0.06);
106
+ }
107
+
108
+ .td-enterprise-cta p {
109
+ margin: 0;
110
+ flex: 1 1 220px;
111
+ font-size: 14px;
112
+ color: #3d3a33;
113
+ }
114
+
115
+ .dark .td-enterprise-cta p {
116
+ color: #e5e1d6;
117
+ }
118
+
119
+ .td-enterprise-cta-link {
120
+ font-size: 14px;
121
+ font-weight: 600;
122
+ color: #8a5a00;
123
+ text-decoration: none;
124
+ white-space: nowrap;
125
+ }
126
+
127
+ .dark .td-enterprise-cta-link {
128
+ color: #ffd977;
129
+ }
130
+
131
+ .td-enterprise-cta-link:hover {
132
+ text-decoration: underline;
133
+ }