testdriverai 7.3.4 → 7.3.6
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-linux-scheduled.yaml +1 -1
- package/.github/workflows/acceptance.yaml +38 -1
- package/.github/workflows/windows-self-hosted.yaml +9 -1
- package/CHANGELOG.md +8 -0
- package/docs/_data/examples-manifest.json +105 -0
- package/docs/_data/examples-manifest.schema.json +41 -0
- package/docs/_scripts/extract-example-urls.js +165 -0
- package/docs/_scripts/generate-examples.js +534 -0
- package/docs/docs.json +242 -212
- package/docs/v7/aws-setup.mdx +1 -1
- package/docs/v7/examples/ai.mdx +72 -0
- package/docs/v7/examples/assert.mdx +72 -0
- package/docs/v7/examples/captcha-api.mdx +92 -0
- package/docs/v7/examples/chrome-extension.mdx +132 -0
- package/docs/v7/examples/drag-and-drop.mdx +100 -0
- package/docs/v7/examples/element-not-found.mdx +67 -0
- package/docs/v7/examples/hover-image.mdx +94 -0
- package/docs/v7/examples/hover-text.mdx +69 -0
- package/docs/v7/examples/installer.mdx +91 -0
- package/docs/v7/examples/launch-vscode-linux.mdx +101 -0
- package/docs/v7/examples/match-image.mdx +96 -0
- package/docs/v7/examples/press-keys.mdx +92 -0
- package/docs/v7/examples/scroll-keyboard.mdx +79 -0
- package/docs/v7/examples/scroll-until-image.mdx +81 -0
- package/docs/v7/examples/scroll-until-text.mdx +109 -0
- package/docs/v7/examples/scroll.mdx +81 -0
- package/docs/v7/examples/type.mdx +92 -0
- package/docs/v7/examples/windows-installer.mdx +89 -0
- package/examples/ai.test.mjs +2 -1
- package/examples/assert.test.mjs +2 -2
- package/examples/captcha-api.test.mjs +3 -2
- package/examples/chrome-extension.test.mjs +3 -2
- package/examples/config.mjs +5 -0
- package/examples/drag-and-drop.test.mjs +2 -1
- package/examples/element-not-found.test.mjs +2 -1
- package/examples/exec-output.test.mjs +2 -1
- package/examples/exec-pwsh.test.mjs +2 -1
- package/examples/focus-window.test.mjs +2 -1
- package/examples/formatted-logging.test.mjs +2 -1
- package/examples/hover-image.test.mjs +2 -1
- package/examples/hover-text-with-description.test.mjs +2 -1
- package/examples/hover-text.test.mjs +2 -1
- package/examples/installer.test.mjs +3 -2
- package/examples/launch-vscode-linux.test.mjs +3 -2
- package/examples/match-image.test.mjs +2 -1
- package/examples/no-provision.test.mjs +2 -3
- package/examples/press-keys.test.mjs +7 -13
- package/examples/prompt.test.mjs +2 -1
- package/examples/scroll-keyboard.test.mjs +2 -1
- package/examples/scroll-until-image.test.mjs +2 -1
- package/examples/scroll-until-text.test.mjs +2 -1
- package/examples/scroll.test.mjs +2 -1
- package/examples/type.test.mjs +3 -2
- package/examples/windows-installer.test.mjs +2 -1
- package/interfaces/vitest-plugin.mjs +50 -18
- package/package.json +3 -1
- package/sdk.js +49 -38
- package/vitest.config.mjs +1 -1
- package/docs/v7/examples.mdx +0 -5
- package/jsconfig.json +0 -26
package/docs/docs.json
CHANGED
|
@@ -12,271 +12,301 @@
|
|
|
12
12
|
},
|
|
13
13
|
"favicon": "/images/template/icon.png",
|
|
14
14
|
"navigation": {
|
|
15
|
-
|
|
15
|
+
"versions": [
|
|
16
|
+
{
|
|
17
|
+
"version": "v7",
|
|
18
|
+
"groups": [
|
|
16
19
|
{
|
|
17
|
-
"
|
|
18
|
-
"
|
|
20
|
+
"group": "Overview",
|
|
21
|
+
"pages": [
|
|
22
|
+
"/v7/quickstart",
|
|
23
|
+
"/v7/what-is-testdriver",
|
|
19
24
|
{
|
|
20
|
-
"group": "
|
|
25
|
+
"group": "Examples",
|
|
26
|
+
"icon": "code",
|
|
21
27
|
"pages": [
|
|
22
|
-
"/v7/
|
|
23
|
-
"/v7/
|
|
24
|
-
"/v7/examples",
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
"/v7/examples/ai",
|
|
29
|
+
"/v7/examples/assert",
|
|
30
|
+
"/v7/examples/captcha-api",
|
|
31
|
+
"/v7/examples/chrome-extension",
|
|
32
|
+
"/v7/examples/drag-and-drop",
|
|
33
|
+
"/v7/examples/element-not-found",
|
|
34
|
+
"/v7/examples/exec-output",
|
|
35
|
+
"/v7/examples/exec-pwsh",
|
|
36
|
+
"/v7/examples/focus-window",
|
|
37
|
+
"/v7/examples/hover-image",
|
|
38
|
+
"/v7/examples/hover-text",
|
|
39
|
+
"/v7/examples/installer",
|
|
40
|
+
"/v7/examples/launch-vscode-linux",
|
|
41
|
+
"/v7/examples/match-image",
|
|
42
|
+
"/v7/examples/press-keys",
|
|
43
|
+
"/v7/examples/scroll-keyboard",
|
|
44
|
+
"/v7/examples/scroll-until-image",
|
|
45
|
+
"/v7/examples/scroll-until-text",
|
|
46
|
+
"/v7/examples/scroll",
|
|
47
|
+
"/v7/examples/type",
|
|
48
|
+
"/v7/examples/windows-installer"
|
|
34
49
|
]
|
|
35
50
|
},
|
|
36
51
|
{
|
|
37
|
-
"group": "
|
|
52
|
+
"group": "Plans & Pricing",
|
|
53
|
+
"icon": "server",
|
|
38
54
|
"pages": [
|
|
39
|
-
"/v7/
|
|
40
|
-
"/v7/
|
|
41
|
-
"/v7/
|
|
42
|
-
"/v7/waiting-for-elements",
|
|
43
|
-
"/v7/performing-actions",
|
|
44
|
-
"/v7/making-assertions"
|
|
55
|
+
"/v7/cloud",
|
|
56
|
+
"/v7/self-hosted",
|
|
57
|
+
"/v7/enterprise"
|
|
45
58
|
]
|
|
46
|
-
}
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"group": "Creating Tests",
|
|
64
|
+
"pages": [
|
|
65
|
+
"/v7/generating-tests",
|
|
66
|
+
"/v7/device-config",
|
|
67
|
+
"/v7/locating-elements",
|
|
68
|
+
"/v7/waiting-for-elements",
|
|
69
|
+
"/v7/performing-actions",
|
|
70
|
+
"/v7/making-assertions"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"group": "Running Tests",
|
|
75
|
+
"pages": [
|
|
76
|
+
"/v7/running-tests",
|
|
77
|
+
"/v7/caching",
|
|
78
|
+
"/v7/ci-cd"
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"group": "Scaling",
|
|
83
|
+
"pages": [
|
|
84
|
+
"/v7/variables",
|
|
85
|
+
"/v7/secrets",
|
|
86
|
+
"/v7/reusable-code",
|
|
87
|
+
{
|
|
88
|
+
"group": "Self-Hosting Setup",
|
|
89
|
+
"icon": "server",
|
|
90
|
+
"pages": [
|
|
91
|
+
"/v7/aws-setup"
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"group": "Actions",
|
|
98
|
+
"pages": [
|
|
99
|
+
"/v7/ai",
|
|
100
|
+
"/v7/assert",
|
|
101
|
+
"/v7/captcha",
|
|
102
|
+
"/v7/click",
|
|
103
|
+
"/v7/double-click",
|
|
104
|
+
"/v7/exec",
|
|
105
|
+
"/v7/find",
|
|
106
|
+
"/v7/focus-application",
|
|
107
|
+
"/v7/hover",
|
|
108
|
+
"/v7/mouse-down",
|
|
109
|
+
"/v7/mouse-up",
|
|
110
|
+
"/v7/ocr",
|
|
111
|
+
"/v7/press-keys",
|
|
112
|
+
"/v7/right-click",
|
|
113
|
+
"/v7/screenshot",
|
|
114
|
+
"/v7/type",
|
|
115
|
+
"/v7/scroll"
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"group": "SDK",
|
|
120
|
+
"pages": [
|
|
121
|
+
"/v7/elements",
|
|
122
|
+
"/v7/client",
|
|
123
|
+
"/v7/dashcam"
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"version": "v6",
|
|
130
|
+
"groups": [
|
|
131
|
+
{
|
|
132
|
+
"group": "Overview",
|
|
133
|
+
"pages": [
|
|
134
|
+
"/v6/overview/what-is-testdriver",
|
|
47
135
|
{
|
|
48
|
-
"group": "
|
|
136
|
+
"group": "Concepts",
|
|
137
|
+
"icon": "book",
|
|
49
138
|
"pages": [
|
|
50
|
-
"/
|
|
51
|
-
"/
|
|
52
|
-
"/
|
|
139
|
+
"/v6/features/selectorless",
|
|
140
|
+
"/v6/overview/comparison",
|
|
141
|
+
"/v6/overview/performance",
|
|
142
|
+
"/v6/overview/faq"
|
|
53
143
|
]
|
|
54
144
|
},
|
|
145
|
+
"/v6/account/enterprise"
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"group": "Get Started",
|
|
150
|
+
"pages": [
|
|
151
|
+
"/v6/overview/quickstart",
|
|
55
152
|
{
|
|
56
|
-
"group": "
|
|
153
|
+
"group": "CLI",
|
|
154
|
+
"icon": "terminal",
|
|
57
155
|
"pages": [
|
|
58
|
-
"/
|
|
59
|
-
"/v7/secrets",
|
|
60
|
-
"/v7/reusable-code",
|
|
156
|
+
"/v6/cli/overview",
|
|
61
157
|
{
|
|
62
|
-
"group": "
|
|
63
|
-
"icon": "
|
|
158
|
+
"group": "Commands",
|
|
159
|
+
"icon": "command",
|
|
64
160
|
"pages": [
|
|
65
|
-
"/
|
|
161
|
+
"/v6/interactive/explore",
|
|
162
|
+
"/v6/interactive/run",
|
|
163
|
+
"/v6/interactive/save"
|
|
66
164
|
]
|
|
67
165
|
}
|
|
68
166
|
]
|
|
69
167
|
},
|
|
168
|
+
"/v6/getting-started/self-hosting",
|
|
169
|
+
"/v6/getting-started/playwright",
|
|
170
|
+
"/v6/getting-started/vscode"
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"group": "Examples",
|
|
175
|
+
"pages": [
|
|
176
|
+
{
|
|
177
|
+
"group": "Apps",
|
|
178
|
+
"icon": "laptop",
|
|
179
|
+
"pages": [
|
|
180
|
+
"/v6/apps/static-websites",
|
|
181
|
+
"/v6/apps/desktop-apps",
|
|
182
|
+
"/v6/apps/chrome-extensions",
|
|
183
|
+
"/v6/apps/mobile-apps",
|
|
184
|
+
"/v6/apps/tauri-apps"
|
|
185
|
+
]
|
|
186
|
+
},
|
|
70
187
|
{
|
|
71
|
-
"group": "
|
|
188
|
+
"group": "Scenarios",
|
|
189
|
+
"icon": "computer-mouse",
|
|
72
190
|
"pages": [
|
|
73
|
-
"/
|
|
74
|
-
"/
|
|
75
|
-
"/
|
|
76
|
-
"/
|
|
77
|
-
"/
|
|
78
|
-
"/
|
|
79
|
-
"/
|
|
80
|
-
"/v7/focus-application",
|
|
81
|
-
"/v7/hover",
|
|
82
|
-
"/v7/mouse-down",
|
|
83
|
-
"/v7/mouse-up",
|
|
84
|
-
"/v7/ocr",
|
|
85
|
-
"/v7/press-keys",
|
|
86
|
-
"/v7/right-click",
|
|
87
|
-
"/v7/screenshot",
|
|
88
|
-
"/v7/type",
|
|
89
|
-
"/v7/scroll"
|
|
191
|
+
"/v6/scenarios/ai-chatbot",
|
|
192
|
+
"/v6/scenarios/cookie-banner",
|
|
193
|
+
"/v6/scenarios/file-upload",
|
|
194
|
+
"/v6/scenarios/form-filling",
|
|
195
|
+
"/v6/scenarios/log-in",
|
|
196
|
+
"/v6/scenarios/pdf-generation",
|
|
197
|
+
"/v6/scenarios/spell-check"
|
|
90
198
|
]
|
|
91
199
|
},
|
|
92
200
|
{
|
|
93
|
-
"group": "
|
|
94
|
-
"
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
201
|
+
"group": "Build Systems",
|
|
202
|
+
"icon": "helmet-safety",
|
|
203
|
+
"pages": [
|
|
204
|
+
"/v6/integrations/electron",
|
|
205
|
+
"/v6/integrations/netlify",
|
|
206
|
+
"/v6/integrations/vercel"
|
|
100
207
|
]
|
|
101
208
|
}
|
|
102
209
|
]
|
|
103
210
|
},
|
|
104
211
|
{
|
|
105
|
-
"
|
|
106
|
-
"
|
|
212
|
+
"group": "Guide",
|
|
213
|
+
"pages": [
|
|
107
214
|
{
|
|
108
|
-
"group": "
|
|
215
|
+
"group": "Configuration",
|
|
216
|
+
"icon": "desktop",
|
|
109
217
|
"pages": [
|
|
110
|
-
"/v6/
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
"/v6/overview/comparison",
|
|
117
|
-
"/v6/overview/performance",
|
|
118
|
-
"/v6/overview/faq"
|
|
119
|
-
]
|
|
120
|
-
},
|
|
121
|
-
"/v6/account/enterprise"
|
|
218
|
+
"/v6/guide/authentication",
|
|
219
|
+
"/v6/guide/variables",
|
|
220
|
+
"/v6/guide/lifecycle",
|
|
221
|
+
"/v6/guide/dashcam",
|
|
222
|
+
"/v6/guide/environment-variables",
|
|
223
|
+
"/v6/action/ami"
|
|
122
224
|
]
|
|
123
225
|
},
|
|
124
226
|
{
|
|
125
|
-
"group": "
|
|
227
|
+
"group": "Writing",
|
|
228
|
+
"icon": "pencil",
|
|
126
229
|
"pages": [
|
|
127
|
-
"/v6/
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
"group": "Commands",
|
|
135
|
-
"icon": "command",
|
|
136
|
-
"pages": [
|
|
137
|
-
"/v6/interactive/explore",
|
|
138
|
-
"/v6/interactive/run",
|
|
139
|
-
"/v6/interactive/save"
|
|
140
|
-
]
|
|
141
|
-
}
|
|
142
|
-
]
|
|
143
|
-
},
|
|
144
|
-
"/v6/getting-started/self-hosting",
|
|
145
|
-
"/v6/getting-started/playwright",
|
|
146
|
-
"/v6/getting-started/vscode"
|
|
230
|
+
"/v6/features/generation",
|
|
231
|
+
"/v6/guide/locating",
|
|
232
|
+
"/v6/guide/waiting",
|
|
233
|
+
"/v6/guide/assertions",
|
|
234
|
+
"/v6/guide/code",
|
|
235
|
+
"/v6/features/reusable-snippets",
|
|
236
|
+
"/v6/guide/protips"
|
|
147
237
|
]
|
|
148
238
|
},
|
|
149
239
|
{
|
|
150
|
-
"group": "
|
|
240
|
+
"group": "Importing",
|
|
241
|
+
"icon": "file-import",
|
|
151
242
|
"pages": [
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
"/v6/apps/static-websites",
|
|
157
|
-
"/v6/apps/desktop-apps",
|
|
158
|
-
"/v6/apps/chrome-extensions",
|
|
159
|
-
"/v6/apps/mobile-apps",
|
|
160
|
-
"/v6/apps/tauri-apps"
|
|
161
|
-
]
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
"group": "Scenarios",
|
|
165
|
-
"icon": "computer-mouse",
|
|
166
|
-
"pages": [
|
|
167
|
-
"/v6/scenarios/ai-chatbot",
|
|
168
|
-
"/v6/scenarios/cookie-banner",
|
|
169
|
-
"/v6/scenarios/file-upload",
|
|
170
|
-
"/v6/scenarios/form-filling",
|
|
171
|
-
"/v6/scenarios/log-in",
|
|
172
|
-
"/v6/scenarios/pdf-generation",
|
|
173
|
-
"/v6/scenarios/spell-check"
|
|
174
|
-
]
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
"group": "Build Systems",
|
|
178
|
-
"icon": "helmet-safety",
|
|
179
|
-
"pages": [
|
|
180
|
-
"/v6/integrations/electron",
|
|
181
|
-
"/v6/integrations/netlify",
|
|
182
|
-
"/v6/integrations/vercel"
|
|
183
|
-
]
|
|
184
|
-
}
|
|
243
|
+
"/v6/importing/csv",
|
|
244
|
+
"/v6/importing/gherkin",
|
|
245
|
+
"/v6/importing/jira",
|
|
246
|
+
"/v6/importing/testrail"
|
|
185
247
|
]
|
|
186
248
|
},
|
|
187
249
|
{
|
|
188
|
-
"group": "
|
|
250
|
+
"group": "Running",
|
|
251
|
+
"icon": "play",
|
|
189
252
|
"pages": [
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
"/v6/guide/variables",
|
|
196
|
-
"/v6/guide/lifecycle",
|
|
197
|
-
"/v6/guide/dashcam",
|
|
198
|
-
"/v6/guide/environment-variables",
|
|
199
|
-
"/v6/action/ami"
|
|
200
|
-
]
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
"group": "Writing",
|
|
204
|
-
"icon": "pencil",
|
|
205
|
-
"pages": [
|
|
206
|
-
"/v6/features/generation",
|
|
207
|
-
"/v6/guide/locating",
|
|
208
|
-
"/v6/guide/waiting",
|
|
209
|
-
"/v6/guide/assertions",
|
|
210
|
-
"/v6/guide/code",
|
|
211
|
-
"/v6/features/reusable-snippets",
|
|
212
|
-
"/v6/guide/protips"
|
|
213
|
-
]
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
"group": "Importing",
|
|
217
|
-
"icon": "file-import",
|
|
218
|
-
"pages": [
|
|
219
|
-
"/v6/importing/csv",
|
|
220
|
-
"/v6/importing/gherkin",
|
|
221
|
-
"/v6/importing/jira",
|
|
222
|
-
"/v6/importing/testrail"
|
|
223
|
-
]
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
"group": "Running",
|
|
227
|
-
"icon": "play",
|
|
228
|
-
"pages": [
|
|
229
|
-
"/v6/getting-started/running",
|
|
230
|
-
"/v6/getting-started/ci",
|
|
231
|
-
"/v6/features/parallel-testing",
|
|
232
|
-
"/v6/action/performance",
|
|
233
|
-
"/v6/action/secrets"
|
|
234
|
-
]
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
"group": "Maintaining",
|
|
238
|
-
"icon": "wrench",
|
|
239
|
-
"pages": ["/v6/getting-started/editing", "/v6/features/auto-healing"]
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
"group": "Reporting",
|
|
243
|
-
"icon": "chart-simple",
|
|
244
|
-
"pages": ["/v6/exporting/junit", "/v6/bugs/jira"]
|
|
245
|
-
}
|
|
253
|
+
"/v6/getting-started/running",
|
|
254
|
+
"/v6/getting-started/ci",
|
|
255
|
+
"/v6/features/parallel-testing",
|
|
256
|
+
"/v6/action/performance",
|
|
257
|
+
"/v6/action/secrets"
|
|
246
258
|
]
|
|
247
259
|
},
|
|
248
260
|
{
|
|
249
|
-
"group": "
|
|
261
|
+
"group": "Maintaining",
|
|
262
|
+
"icon": "wrench",
|
|
250
263
|
"pages": [
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
264
|
+
"/v6/getting-started/editing",
|
|
265
|
+
"/v6/features/auto-healing"
|
|
266
|
+
]
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"group": "Reporting",
|
|
270
|
+
"icon": "chart-simple",
|
|
271
|
+
"pages": [
|
|
272
|
+
"/v6/exporting/junit",
|
|
273
|
+
"/v6/bugs/jira"
|
|
274
|
+
]
|
|
275
|
+
}
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"group": "Reference",
|
|
280
|
+
"pages": [
|
|
281
|
+
{
|
|
282
|
+
"group": "YAML",
|
|
283
|
+
"icon": "file-code",
|
|
284
|
+
"pages": [
|
|
285
|
+
"/v6/commands/assert",
|
|
286
|
+
"/v6/commands/exec",
|
|
287
|
+
"/v6/commands/focus-application",
|
|
288
|
+
"/v6/commands/hover-image",
|
|
289
|
+
"/v6/commands/hover-text",
|
|
290
|
+
"/v6/commands/if",
|
|
291
|
+
"/v6/commands/match-image",
|
|
292
|
+
"/v6/commands/press-keys",
|
|
293
|
+
"/v6/commands/remember",
|
|
294
|
+
"/v6/commands/run",
|
|
295
|
+
"/v6/commands/scroll",
|
|
296
|
+
"/v6/commands/scroll-until-image",
|
|
297
|
+
"/v6/commands/scroll-until-text",
|
|
298
|
+
"/v6/commands/type",
|
|
299
|
+
"/v6/commands/wait",
|
|
300
|
+
"/v6/commands/wait-for-image",
|
|
301
|
+
"/v6/commands/wait-for-text"
|
|
274
302
|
]
|
|
275
303
|
}
|
|
276
304
|
]
|
|
277
305
|
}
|
|
278
306
|
]
|
|
279
|
-
}
|
|
307
|
+
}
|
|
308
|
+
]
|
|
309
|
+
},
|
|
280
310
|
"logo": {
|
|
281
311
|
"light": "/images/template/light.png",
|
|
282
312
|
"dark": "/images/template/dark.png",
|
package/docs/v7/aws-setup.mdx
CHANGED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "AI Test Example"
|
|
3
|
+
sidebarTitle: "AI"
|
|
4
|
+
description: "Example test using the AI exploratory loop to automate complex multi-step interactions."
|
|
5
|
+
icon: "wand-magic-sparkles"
|
|
6
|
+
mode: "wide"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Demo Test Run
|
|
10
|
+
|
|
11
|
+
Watch this test execute in a real sandbox environment:
|
|
12
|
+
|
|
13
|
+
{/* ai.test.mjs output */}
|
|
14
|
+
<iframe
|
|
15
|
+
src="https://testdriver-api.onrender.com/api/v1/testdriver/testcase/698b7e1e297b1f49cee2a5ba/replay"
|
|
16
|
+
width="100%"
|
|
17
|
+
height="390"
|
|
18
|
+
style={{ border: "1px solid #333", borderRadius: "8px" }}
|
|
19
|
+
allow="fullscreen"
|
|
20
|
+
/>
|
|
21
|
+
|
|
22
|
+
## Source Code
|
|
23
|
+
|
|
24
|
+
```javascript title="ai.test.mjs" {17}
|
|
25
|
+
/**
|
|
26
|
+
* TestDriver SDK - AI Test
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
import { describe, expect, it } from "vitest";
|
|
30
|
+
import { TestDriver } from "../lib/vitest/hooks.mjs";
|
|
31
|
+
|
|
32
|
+
describe("AI Test", () => {
|
|
33
|
+
it("should use ai to search for testdriver on Google", async (context) => {
|
|
34
|
+
const testdriver = TestDriver(context, { ip: context.ip || process.env.TD_IP });
|
|
35
|
+
|
|
36
|
+
// provision.chrome() automatically calls ready() and starts dashcam
|
|
37
|
+
await testdriver.provision.chrome({
|
|
38
|
+
url: 'https://duckduckgo.com',
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Use ai to search for testdriver
|
|
42
|
+
let aiRes = await testdriver.ai("click on the empty search box, type 'testdriver', and hit enter.");
|
|
43
|
+
|
|
44
|
+
console.log("AI response:", aiRes);
|
|
45
|
+
|
|
46
|
+
// Assert the search results are displayed
|
|
47
|
+
const result = await testdriver.assert(
|
|
48
|
+
"search results for testdriver are visible",
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
expect(result).toBeTruthy();
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Running This Example
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Clone the TestDriver repository
|
|
60
|
+
git clone https://github.com/testdriverai/testdriverai
|
|
61
|
+
|
|
62
|
+
# Install dependencies
|
|
63
|
+
cd testdriverai
|
|
64
|
+
npm install
|
|
65
|
+
|
|
66
|
+
# Run this specific example
|
|
67
|
+
npx vitest run examples/ai.test.mjs
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
<Note>
|
|
71
|
+
Make sure you have `TD_API_KEY` set in your environment. Get one at [testdriver.ai](https://testdriver.ai).
|
|
72
|
+
</Note>
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Assert Test Example"
|
|
3
|
+
sidebarTitle: "Assert"
|
|
4
|
+
description: "Example test that uses assert to verify a page loads."
|
|
5
|
+
icon: "check-circle"
|
|
6
|
+
mode: "wide"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Demo Test Run
|
|
10
|
+
|
|
11
|
+
Watch this test execute in a real sandbox environment:
|
|
12
|
+
|
|
13
|
+
{/* assert.test.mjs output */}
|
|
14
|
+
<iframe
|
|
15
|
+
src="https://testdriver-api.onrender.com/api/v1/testdriver/testcase/698b7d756513c6b23f858ee6/replay"
|
|
16
|
+
width="100%"
|
|
17
|
+
height="390"
|
|
18
|
+
style={{ border: "1px solid #333", borderRadius: "8px" }}
|
|
19
|
+
allow="fullscreen"
|
|
20
|
+
/>
|
|
21
|
+
|
|
22
|
+
## Source Code
|
|
23
|
+
|
|
24
|
+
```javascript title="assert.test.mjs" {22-24}
|
|
25
|
+
/**
|
|
26
|
+
* TestDriver SDK - Assert Test
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
import { describe, expect, it } from "vitest";
|
|
30
|
+
import { TestDriver } from "../lib/vitest/hooks.mjs";
|
|
31
|
+
|
|
32
|
+
describe("Assert Test", () => {
|
|
33
|
+
it("should assert the testdriver login page shows", async (context) => {
|
|
34
|
+
const testdriver = TestDriver(context, {
|
|
35
|
+
ip: context.ip || process.env.TD_IP,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// provision.chrome() automatically calls ready() and starts dashcam
|
|
39
|
+
await testdriver.provision.chrome({
|
|
40
|
+
url: 'http://testdriver-sandbox.vercel.app/login',
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Take a screenshot
|
|
44
|
+
await testdriver.screenshot();
|
|
45
|
+
|
|
46
|
+
// Assert the TestDriver.ai Sandbox login page is displayed
|
|
47
|
+
const result = await testdriver.assert(
|
|
48
|
+
"the TestDriver.ai Sandbox login page is displayed",
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
expect(result).toBeTruthy();
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Running This Example
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Clone the TestDriver repository
|
|
60
|
+
git clone https://github.com/testdriverai/testdriverai
|
|
61
|
+
|
|
62
|
+
# Install dependencies
|
|
63
|
+
cd testdriverai
|
|
64
|
+
npm install
|
|
65
|
+
|
|
66
|
+
# Run this specific example
|
|
67
|
+
npx vitest run examples/assert.test.mjs
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
<Note>
|
|
71
|
+
Make sure you have `TD_API_KEY` set in your environment. Get one at [testdriver.ai](https://testdriver.ai).
|
|
72
|
+
</Note>
|