@testdriverai/mcp 7.11.136-test → 7.11.138-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.
- package/ai/skills/testdriver-assert/SKILL.md +5 -5
- package/ai/skills/testdriver-caching/SKILL.md +2 -2
- package/ai/skills/testdriver-changelog/SKILL.md +186 -0
- package/ai/skills/testdriver-claude-mcp-plugin/SKILL.md +208 -0
- package/ai/skills/testdriver-click/SKILL.md +13 -13
- package/ai/skills/testdriver-client/SKILL.md +1 -1
- package/ai/skills/testdriver-debugging-with-screenshots/SKILL.md +5 -5
- package/ai/skills/testdriver-double-click/SKILL.md +7 -7
- package/ai/skills/testdriver-enterprise/SKILL.md +1 -1
- package/ai/skills/testdriver-events/SKILL.md +1 -1
- package/ai/skills/testdriver-exec/SKILL.md +10 -10
- package/ai/skills/testdriver-extract/SKILL.md +6 -6
- package/ai/skills/testdriver-find/SKILL.md +61 -61
- package/ai/skills/testdriver-focus-application/SKILL.md +6 -6
- package/ai/skills/testdriver-generating-tests/SKILL.md +3 -3
- package/ai/skills/testdriver-hosted/SKILL.md +3 -3
- package/ai/skills/testdriver-hover/SKILL.md +6 -6
- package/ai/skills/testdriver-making-assertions/SKILL.md +2 -2
- package/ai/skills/testdriver-mouse-down/SKILL.md +9 -9
- package/ai/skills/testdriver-mouse-up/SKILL.md +9 -9
- package/ai/skills/testdriver-parse/SKILL.md +4 -4
- package/ai/skills/testdriver-performing-actions/SKILL.md +4 -4
- package/ai/skills/testdriver-press-keys/SKILL.md +5 -5
- package/ai/skills/testdriver-quickstart/SKILL.md +51 -54
- package/ai/skills/testdriver-redraw/SKILL.md +1 -1
- package/ai/skills/testdriver-right-click/SKILL.md +7 -7
- package/ai/skills/testdriver-screenshot/SKILL.md +9 -9
- package/ai/skills/testdriver-scroll/SKILL.md +13 -13
- package/ai/skills/testdriver-self-hosted/SKILL.md +1 -1
- package/ai/skills/testdriver-type/SKILL.md +7 -7
- package/ai/skills/testdriver-wait/SKILL.md +5 -5
- package/ai/skills/testdriver-what-is-testdriver/SKILL.md +11 -11
- package/docs/{v7/_drafts → _drafts}/agents.mdx +1 -1
- package/docs/{v7/_drafts → _drafts}/best-practices.mdx +4 -4
- package/docs/{v7/_drafts → _drafts}/caching-selectors.mdx +3 -3
- package/docs/{v7/_drafts → _drafts}/configuration.mdx +4 -4
- package/docs/{v7/_drafts → _drafts}/debugging.mdx +4 -4
- package/docs/{v7/_drafts → _drafts}/error-handling.mdx +4 -4
- package/docs/{v7/_drafts → _drafts}/faq.mdx +7 -7
- package/docs/{v7/_drafts → _drafts}/installation.mdx +2 -2
- package/docs/{v7/_drafts → _drafts}/migration.mdx +4 -4
- package/docs/{v7/_drafts → _drafts}/observable.mdx +3 -3
- package/docs/{v7/_drafts → _drafts}/powerful.mdx +4 -4
- package/docs/{v7/_drafts → _drafts}/readme.mdx +11 -11
- package/docs/{v7/_drafts → _drafts}/reports.mdx +4 -4
- package/docs/{v7/_drafts → _drafts}/scalable.mdx +10 -10
- package/docs/{v7/_drafts → _drafts}/troubleshooting.mdx +4 -4
- package/docs/{v7/_drafts → _drafts}/vitest-plugin.mdx +2 -2
- package/docs/{v7/_drafts → _drafts}/vitest.mdx +9 -9
- package/docs/_scripts/generate-examples.js +9 -10
- package/docs/_scripts/generate-skills.js +4 -4
- package/docs/{v7/agent.mdx → agent.mdx} +17 -17
- package/docs/{v7/assert.mdx → assert.mdx} +5 -5
- package/docs/{v7/aws-setup.mdx → aws-setup.mdx} +6 -6
- package/docs/{v7/cache.mdx → cache.mdx} +9 -9
- package/docs/{v7/caching.mdx → caching.mdx} +13 -12
- package/docs/{v7/captcha.mdx → captcha.mdx} +7 -7
- package/docs/changelog.mdx +13 -13
- package/docs/{v7/ci-cd.mdx → ci-cd.mdx} +10 -10
- package/docs/{v7/click.mdx → click.mdx} +13 -13
- package/docs/client.mdx +323 -0
- package/docs/{v7/copilot → copilot}/auto-healing.mdx +2 -2
- package/docs/{v7/copilot → copilot}/running-tests.mdx +8 -8
- package/docs/{v7/customizing-devices.mdx → customizing-devices.mdx} +1 -1
- package/docs/{v7/dashcam.mdx → dashcam.mdx} +3 -3
- package/docs/{v7/debugging-with-screenshots.mdx → debugging-with-screenshots.mdx} +12 -12
- package/docs/docs.json +429 -288
- package/docs/{v7/double-click.mdx → double-click.mdx} +7 -7
- package/docs/{v7/elements.mdx → elements.mdx} +7 -7
- package/docs/{v7/enterprise.mdx → enterprise.mdx} +2 -2
- package/docs/{v7/errors.mdx → errors.mdx} +3 -3
- package/docs/{v7/events.mdx → events.mdx} +4 -4
- package/docs/{v7/exec.mdx → exec.mdx} +10 -10
- package/docs/{v7/extract.mdx → extract.mdx} +10 -10
- package/docs/{v7/find.mdx → find.mdx} +61 -61
- package/docs/{v7/focus-application.mdx → focus-application.mdx} +6 -6
- package/docs/{v7/generating-tests.mdx → generating-tests.mdx} +10 -10
- package/docs/guide/best-practices-polling.mdx +6 -1
- package/docs/{v7/hosted.mdx → hosted.mdx} +7 -7
- package/docs/{v7/hover.mdx → hover.mdx} +6 -6
- package/docs/interacting-with-your-app.mdx +198 -0
- package/docs/locating-elements.mdx +423 -0
- package/docs/{v7/making-assertions.mdx → making-assertions.mdx} +7 -7
- package/docs/{v7/mouse-down.mdx → mouse-down.mdx} +9 -9
- package/docs/{v7/mouse-up.mdx → mouse-up.mdx} +9 -9
- package/docs/options.mdx +320 -0
- package/docs/{v7/parse.mdx → parse.mdx} +12 -12
- package/docs/{v7/performing-actions.mdx → performing-actions.mdx} +11 -11
- package/docs/{v7/press-keys.mdx → press-keys.mdx} +5 -5
- package/docs/{v7/provision.mdx → provision.mdx} +9 -9
- package/docs/quickstart-cli.mdx +437 -0
- package/docs/quickstart-github.mdx +54 -0
- package/docs/quickstart-manual.mdx +135 -0
- package/docs/quickstart.mdx +22 -0
- package/docs/{v7/redraw.mdx → redraw.mdx} +7 -7
- package/docs/{v7/reusable-code.mdx → reusable-code.mdx} +3 -3
- package/docs/{v7/right-click.mdx → right-click.mdx} +7 -7
- package/docs/{v7/screenshot.mdx → screenshot.mdx} +9 -9
- package/docs/{v7/screenshots.mdx → screenshots.mdx} +3 -3
- package/docs/{v7/scroll.mdx → scroll.mdx} +13 -13
- package/docs/{v7/secrets.mdx → secrets.mdx} +4 -4
- package/docs/{v7/self-hosted.mdx → self-hosted.mdx} +7 -7
- package/docs/{v7/test-results-json.mdx → test-results-json.mdx} +4 -4
- package/docs/{v7/type.mdx → type.mdx} +7 -7
- package/docs/{v7/variables.mdx → variables.mdx} +2 -2
- package/docs/{v7/wait.mdx → wait.mdx} +5 -5
- package/docs/what-is-testdriver.mdx +54 -0
- package/lib/environments.json +1 -1
- package/lib/github-comment.mjs +2 -3
- package/package.json +1 -1
- package/scripts/generate-skills.js +1 -1
- package/docs/v7/client.mdx +0 -486
- package/docs/v7/quickstart.mdx +0 -451
- package/docs/v7/what-is-testdriver.mdx +0 -54
- /package/docs/{v7/_drafts → _drafts}/architecture.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/auto-cache-key.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/awesome-logs-quick-ref.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/cli-to-sdk-migration.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/assert.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/exec.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/focus-application.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/hover-image.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/hover-text.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/if.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/match-image.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/press-keys.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/remember.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/run.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/scroll-until-image.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/scroll-until-text.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/scroll.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/type.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/wait-for-image.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/wait-for-text.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/commands/wait.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/contributing.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/dashcam-title-feature.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/hooks.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/init-command.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/playwright.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/plugin-migration.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/presets.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/progressive-disclosure.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/provision.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/quick-start-test-recording.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/screenshot.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/sdk-awesome-logs.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/sdk-browser-rendering.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/sdk-migration.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/sdk-v7-complete.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/self-hosting.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/test-recording.mdx +0 -0
- /package/docs/{v7/_drafts → _drafts}/writing-tests.mdx +0 -0
- /package/docs/{v7/examples → examples}/ai.mdx +0 -0
- /package/docs/{v7/examples → examples}/assert.mdx +0 -0
- /package/docs/{v7/examples → examples}/captcha-api.mdx +0 -0
- /package/docs/{v7/examples → examples}/chrome-extension.mdx +0 -0
- /package/docs/{v7/examples → examples}/drag-and-drop.mdx +0 -0
- /package/docs/{v7/examples → examples}/element-not-found.mdx +0 -0
- /package/docs/{v7/examples → examples}/findall-coffee-icons.mdx +0 -0
- /package/docs/{v7/examples → examples}/formatted-logging.mdx +0 -0
- /package/docs/{v7/examples → examples}/hover-image.mdx +0 -0
- /package/docs/{v7/examples → examples}/hover-text-with-description.mdx +0 -0
- /package/docs/{v7/examples → examples}/hover-text.mdx +0 -0
- /package/docs/{v7/examples → examples}/installer.mdx +0 -0
- /package/docs/{v7/examples → examples}/launch-vscode-linux.mdx +0 -0
- /package/docs/{v7/examples → examples}/match-image.mdx +0 -0
- /package/docs/{v7/examples → examples}/parse.mdx +0 -0
- /package/docs/{v7/examples → examples}/press-keys.mdx +0 -0
- /package/docs/{v7/examples → examples}/scroll-keyboard.mdx +0 -0
- /package/docs/{v7/examples → examples}/scroll-until-text.mdx +0 -0
- /package/docs/{v7/examples → examples}/scroll.mdx +0 -0
- /package/docs/{v7/examples → examples}/type.mdx +0 -0
- /package/docs/{v7/mcp.mdx → mcp.mdx} +0 -0
|
@@ -456,19 +456,19 @@ Before committing tests:
|
|
|
456
456
|
## See Also
|
|
457
457
|
|
|
458
458
|
<CardGroup cols={2}>
|
|
459
|
-
<Card title="Debugging" icon="bug" href="/
|
|
459
|
+
<Card title="Debugging" icon="bug" href="/guides/debugging">
|
|
460
460
|
Debug failing tests
|
|
461
461
|
</Card>
|
|
462
462
|
|
|
463
|
-
<Card title="Configuration" icon="gear" href="/
|
|
463
|
+
<Card title="Configuration" icon="gear" href="/getting-started/configuration">
|
|
464
464
|
Configure TestDriver
|
|
465
465
|
</Card>
|
|
466
466
|
|
|
467
|
-
<Card title="Caching" icon="bolt" href="/
|
|
467
|
+
<Card title="Caching" icon="bolt" href="/guides/caching-ai">
|
|
468
468
|
Optimize with caching
|
|
469
469
|
</Card>
|
|
470
470
|
|
|
471
|
-
<Card title="Examples" icon="code" href="/
|
|
471
|
+
<Card title="Examples" icon="code" href="/presets/chrome">
|
|
472
472
|
See working examples
|
|
473
473
|
</Card>
|
|
474
474
|
</CardGroup>
|
|
@@ -418,7 +418,7 @@ test('custom cache settings', async (context) => {
|
|
|
418
418
|
|
|
419
419
|
## See Also
|
|
420
420
|
|
|
421
|
-
- [AI Prompt Caching](/
|
|
421
|
+
- [AI Prompt Caching](/guides/caching-ai) - Cache AI-generated YAML
|
|
422
422
|
- [Console Dashboard](https://console.testdriver.ai) - View and manage selector cache
|
|
423
|
-
- [`.find()` Method](/
|
|
424
|
-
- [Vitest Integration](/
|
|
423
|
+
- [`.find()` Method](/api/find) - Element location
|
|
424
|
+
- [Vitest Integration](/guides/vitest) - Testing with TestDriver
|
|
@@ -348,19 +348,19 @@ const client = await TestDriver.create({
|
|
|
348
348
|
## See Also
|
|
349
349
|
|
|
350
350
|
<CardGroup cols={2}>
|
|
351
|
-
<Card title="Installation" icon="download" href="/
|
|
351
|
+
<Card title="Installation" icon="download" href="/getting-started/installation">
|
|
352
352
|
Install TestDriver SDK
|
|
353
353
|
</Card>
|
|
354
354
|
|
|
355
|
-
<Card title="Quick Start" icon="rocket" href="/
|
|
355
|
+
<Card title="Quick Start" icon="rocket" href="/getting-started/quickstart">
|
|
356
356
|
Build your first test
|
|
357
357
|
</Card>
|
|
358
358
|
|
|
359
|
-
<Card title="Caching" icon="bolt" href="/
|
|
359
|
+
<Card title="Caching" icon="bolt" href="/guides/caching-ai">
|
|
360
360
|
Configure caching
|
|
361
361
|
</Card>
|
|
362
362
|
|
|
363
|
-
<Card title="Client API" icon="plug" href="/
|
|
363
|
+
<Card title="Client API" icon="plug" href="/api/client">
|
|
364
364
|
Full client reference
|
|
365
365
|
</Card>
|
|
366
366
|
</CardGroup>
|
|
@@ -331,19 +331,19 @@ When a test fails:
|
|
|
331
331
|
## See Also
|
|
332
332
|
|
|
333
333
|
<CardGroup cols={2}>
|
|
334
|
-
<Card title="Dashcam" icon="video" href="/
|
|
334
|
+
<Card title="Dashcam" icon="video" href="/api/dashcam">
|
|
335
335
|
Recording API reference
|
|
336
336
|
</Card>
|
|
337
337
|
|
|
338
|
-
<Card title="Assertions" icon="circle-check" href="/
|
|
338
|
+
<Card title="Assertions" icon="circle-check" href="/api/assertions">
|
|
339
339
|
Verification methods
|
|
340
340
|
</Card>
|
|
341
341
|
|
|
342
|
-
<Card title="Troubleshooting" icon="circle-question" href="/
|
|
342
|
+
<Card title="Troubleshooting" icon="circle-question" href="/guides/troubleshooting">
|
|
343
343
|
Common issues
|
|
344
344
|
</Card>
|
|
345
345
|
|
|
346
|
-
<Card title="Best Practices" icon="star" href="/
|
|
346
|
+
<Card title="Best Practices" icon="star" href="/guides/best-practices">
|
|
347
347
|
Testing patterns
|
|
348
348
|
</Card>
|
|
349
349
|
</CardGroup>
|
|
@@ -495,7 +495,7 @@ When an element can't be found:
|
|
|
495
495
|
|
|
496
496
|
## Related Guides
|
|
497
497
|
|
|
498
|
-
- [Element Finding](/
|
|
499
|
-
- [Caching](/
|
|
500
|
-
- [Best Practices](/
|
|
501
|
-
- [Debugging](/
|
|
498
|
+
- [Element Finding](/api/find) - Basic element finding
|
|
499
|
+
- [Caching](/guides/caching-selectors) - Cache configuration
|
|
500
|
+
- [Best Practices](/guides/best-practices) - General testing tips
|
|
501
|
+
- [Debugging](/guides/debugging) - Advanced debugging techniques
|
|
@@ -73,7 +73,7 @@ No! TestDriver uses cloud sandboxes by default. Docker is only needed for self-h
|
|
|
73
73
|
|
|
74
74
|
### Can I run tests locally?
|
|
75
75
|
|
|
76
|
-
Tests run in cloud sandboxes by default. For local execution, see [self-hosting guide](/
|
|
76
|
+
Tests run in cloud sandboxes by default. For local execution, see [self-hosting guide](/guides/self-hosting).
|
|
77
77
|
|
|
78
78
|
### How fast are tests?
|
|
79
79
|
|
|
@@ -122,7 +122,7 @@ await testdriver.find('button'); // AI vision
|
|
|
122
122
|
await testdriver.find('button'); // Cache hit (95%+ similar UI)
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
-
See [caching guide](/
|
|
125
|
+
See [caching guide](/caching) for details.
|
|
126
126
|
|
|
127
127
|
### Can I test responsive designs?
|
|
128
128
|
|
|
@@ -209,7 +209,7 @@ await testdriver.exec('pwsh',
|
|
|
209
209
|
4. **Use assertions** - Verify state at checkpoints
|
|
210
210
|
5. **Add delays** - Slow down to watch execution
|
|
211
211
|
|
|
212
|
-
See [debugging guide](/
|
|
212
|
+
See [debugging guide](/guides/debugging).
|
|
213
213
|
|
|
214
214
|
### Why isn't my element found?
|
|
215
215
|
|
|
@@ -335,7 +335,7 @@ Paid plans:
|
|
|
335
335
|
|
|
336
336
|
### Can I self-host?
|
|
337
337
|
|
|
338
|
-
Yes! Enterprise plans include self-hosting options. See [self-hosting guide](/
|
|
338
|
+
Yes! Enterprise plans include self-hosting options. See [self-hosting guide](/guides/self-hosting).
|
|
339
339
|
|
|
340
340
|
## Support
|
|
341
341
|
|
|
@@ -367,15 +367,15 @@ Yes! Join our [Discord](https://discord.com/invite/cWDFW8DzPm) to:
|
|
|
367
367
|
## See Also
|
|
368
368
|
|
|
369
369
|
<CardGroup cols={2}>
|
|
370
|
-
<Card title="Quick Start" icon="rocket" href="/
|
|
370
|
+
<Card title="Quick Start" icon="rocket" href="/getting-started/quickstart">
|
|
371
371
|
Get started in 5 minutes
|
|
372
372
|
</Card>
|
|
373
373
|
|
|
374
|
-
<Card title="Troubleshooting" icon="circle-question" href="/
|
|
374
|
+
<Card title="Troubleshooting" icon="circle-question" href="/guides/troubleshooting">
|
|
375
375
|
Common issues
|
|
376
376
|
</Card>
|
|
377
377
|
|
|
378
|
-
<Card title="Best Practices" icon="star" href="/
|
|
378
|
+
<Card title="Best Practices" icon="star" href="/guides/best-practices">
|
|
379
379
|
Testing patterns
|
|
380
380
|
</Card>
|
|
381
381
|
|
|
@@ -213,7 +213,7 @@ testdriverai sandbox stop i-abc123
|
|
|
213
213
|
- Prompts for your API key and saves to .env
|
|
214
214
|
</Tip>
|
|
215
215
|
|
|
216
|
-
[Learn more about sandbox management](/
|
|
216
|
+
[Learn more about sandbox management](/guides/sandbox-management)
|
|
217
217
|
|
|
218
218
|
### Monorepo Setup
|
|
219
219
|
|
|
@@ -415,6 +415,6 @@ vitest run verify.test.js
|
|
|
415
415
|
HTTPS_PROXY=http://proxy.company.com:8080
|
|
416
416
|
```
|
|
417
417
|
|
|
418
|
-
For on-premise deployment, see [self-hosting guide](/
|
|
418
|
+
For on-premise deployment, see [self-hosting guide](/guides/self-hosting).
|
|
419
419
|
</Accordion>
|
|
420
420
|
</AccordionGroup>
|
|
@@ -531,7 +531,7 @@ describe('Login Flow', () => {
|
|
|
531
531
|
<Card
|
|
532
532
|
title="API Reference"
|
|
533
533
|
icon="book"
|
|
534
|
-
href="/
|
|
534
|
+
href="/api/client"
|
|
535
535
|
>
|
|
536
536
|
Explore all available SDK methods
|
|
537
537
|
</Card>
|
|
@@ -539,7 +539,7 @@ describe('Login Flow', () => {
|
|
|
539
539
|
<Card
|
|
540
540
|
title="Examples"
|
|
541
541
|
icon="code"
|
|
542
|
-
href="/
|
|
542
|
+
href="/guides/examples"
|
|
543
543
|
>
|
|
544
544
|
See complete test examples
|
|
545
545
|
</Card>
|
|
@@ -547,7 +547,7 @@ describe('Login Flow', () => {
|
|
|
547
547
|
<Card
|
|
548
548
|
title="Best Practices"
|
|
549
549
|
icon="star"
|
|
550
|
-
href="/
|
|
550
|
+
href="/guides/best-practices"
|
|
551
551
|
>
|
|
552
552
|
Learn SDK best practices
|
|
553
553
|
</Card>
|
|
@@ -555,7 +555,7 @@ describe('Login Flow', () => {
|
|
|
555
555
|
<Card
|
|
556
556
|
title="Quickstart"
|
|
557
557
|
icon="rocket"
|
|
558
|
-
href="/
|
|
558
|
+
href="/getting-started/quickstart"
|
|
559
559
|
>
|
|
560
560
|
Get started with the SDK
|
|
561
561
|
</Card>
|
|
@@ -573,7 +573,7 @@ vitest --reporter=verbose
|
|
|
573
573
|
<Card
|
|
574
574
|
title="Dashcam API"
|
|
575
575
|
icon="video"
|
|
576
|
-
href="/
|
|
576
|
+
href="/api/dashcam"
|
|
577
577
|
>
|
|
578
578
|
Complete Dashcam documentation
|
|
579
579
|
</Card>
|
|
@@ -581,7 +581,7 @@ vitest --reporter=verbose
|
|
|
581
581
|
<Card
|
|
582
582
|
title="Debugging Guide"
|
|
583
583
|
icon="bug"
|
|
584
|
-
href="/
|
|
584
|
+
href="/guides/debugging"
|
|
585
585
|
>
|
|
586
586
|
Debug failing tests effectively
|
|
587
587
|
</Card>
|
|
@@ -597,7 +597,7 @@ vitest --reporter=verbose
|
|
|
597
597
|
<Card
|
|
598
598
|
title="Performance Guide"
|
|
599
599
|
icon="gauge-high"
|
|
600
|
-
href="/
|
|
600
|
+
href="/guides/performance"
|
|
601
601
|
>
|
|
602
602
|
Optimize test performance
|
|
603
603
|
</Card>
|
|
@@ -401,19 +401,19 @@ TestDriver's AI-powered visual understanding and natural language interface mean
|
|
|
401
401
|
- **Platform**: Web, desktop, mobile, extensions, embedded systems
|
|
402
402
|
|
|
403
403
|
<CardGroup cols={2}>
|
|
404
|
-
<Card title="Powerful & Versatile" icon="wand-magic-sparkles" href="/
|
|
404
|
+
<Card title="Powerful & Versatile" icon="wand-magic-sparkles" href="/features/powerful">
|
|
405
405
|
Learn about platform support
|
|
406
406
|
</Card>
|
|
407
407
|
|
|
408
|
-
<Card title="AI-Native" icon="robot" href="/
|
|
408
|
+
<Card title="AI-Native" icon="robot" href="/features/ai-native">
|
|
409
409
|
See how AI powers our testing
|
|
410
410
|
</Card>
|
|
411
411
|
|
|
412
|
-
<Card title="All Presets" icon="layer-group" href="/
|
|
412
|
+
<Card title="All Presets" icon="layer-group" href="/presets/chrome">
|
|
413
413
|
Explore all testing presets
|
|
414
414
|
</Card>
|
|
415
415
|
|
|
416
|
-
<Card title="Getting Started" icon="rocket" href="/
|
|
416
|
+
<Card title="Getting Started" icon="rocket" href="/getting-started/quickstart">
|
|
417
417
|
Start testing in 5 minutes
|
|
418
418
|
</Card>
|
|
419
419
|
</CardGroup>
|
|
@@ -29,7 +29,7 @@ v7/
|
|
|
29
29
|
|
|
30
30
|
### API Reference
|
|
31
31
|
|
|
32
|
-
#### Client (`/
|
|
32
|
+
#### Client (`/api/client.mdx`)
|
|
33
33
|
- Constructor and initialization
|
|
34
34
|
- `auth()` - Authentication
|
|
35
35
|
- `connect()` - Sandbox connection with all options
|
|
@@ -37,7 +37,7 @@ v7/
|
|
|
37
37
|
- Instance management (`getInstance()`, `getSessionId()`)
|
|
38
38
|
- Logging and events (`setLogging()`, `getEmitter()`)
|
|
39
39
|
|
|
40
|
-
#### Elements (`/
|
|
40
|
+
#### Elements (`/api/elements.mdx`)
|
|
41
41
|
- `find()` - AI-powered element location
|
|
42
42
|
- Element class methods:
|
|
43
43
|
- `found()` - Check if located
|
|
@@ -49,7 +49,7 @@ v7/
|
|
|
49
49
|
- Content (`text`, `label`, `confidence`)
|
|
50
50
|
- Polling patterns for dynamic elements
|
|
51
51
|
|
|
52
|
-
#### Sandbox (`/
|
|
52
|
+
#### Sandbox (`/api/sandbox.mdx`)
|
|
53
53
|
- `exec()` - Execute code in sandbox
|
|
54
54
|
- JavaScript execution (browser context)
|
|
55
55
|
- PowerShell execution (Windows commands)
|
|
@@ -62,14 +62,14 @@ v7/
|
|
|
62
62
|
- Process management
|
|
63
63
|
- Browser automation
|
|
64
64
|
|
|
65
|
-
#### Interactions (`/
|
|
65
|
+
#### Interactions (`/api/interactions.mdx`)
|
|
66
66
|
- `type()` - Text input
|
|
67
67
|
- `pressKeys()` - Keyboard shortcuts and special keys
|
|
68
68
|
- `click()` / `hover()` - Coordinate-based mouse actions
|
|
69
69
|
- `scroll()` - Page scrolling
|
|
70
70
|
- Keyboard key reference
|
|
71
71
|
|
|
72
|
-
#### Assertions (`/
|
|
72
|
+
#### Assertions (`/api/assertions.mdx`)
|
|
73
73
|
- `assert()` - AI-powered assertions
|
|
74
74
|
- Basic assertions
|
|
75
75
|
- Negative assertions (invert parameter)
|
|
@@ -83,7 +83,7 @@ v7/
|
|
|
83
83
|
|
|
84
84
|
### Guides
|
|
85
85
|
|
|
86
|
-
#### Migration (`/
|
|
86
|
+
#### Migration (`/guides/migration.mdx`)
|
|
87
87
|
- Why migrate from YAML to SDK
|
|
88
88
|
- Basic structure comparison
|
|
89
89
|
- Complete command mapping:
|
|
@@ -127,8 +127,8 @@ The documentation uses examples from:
|
|
|
127
127
|
## Next Steps
|
|
128
128
|
|
|
129
129
|
Consider adding:
|
|
130
|
-
- `/
|
|
131
|
-
- `/
|
|
132
|
-
- `/
|
|
133
|
-
- `/
|
|
134
|
-
- `/
|
|
130
|
+
- `/guides/best-practices.mdx` - Detailed best practices
|
|
131
|
+
- `/guides/examples.mdx` - Complete test suite examples
|
|
132
|
+
- `/guides/debugging.mdx` - Debugging techniques
|
|
133
|
+
- `/guides/ci-cd.mdx` - CI/CD integration guide
|
|
134
|
+
- `/api/keyboard-keys.mdx` - Complete keyboard key reference
|
|
@@ -373,7 +373,7 @@ Get test notifications in your team chat:
|
|
|
373
373
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}
|
|
374
374
|
```
|
|
375
375
|
|
|
376
|
-
<Card title="Notifications Setup" icon="bell" href="/
|
|
376
|
+
<Card title="Notifications Setup" icon="bell" href="/guides/notifications">
|
|
377
377
|
Configure Slack, Teams, Discord, and email notifications
|
|
378
378
|
</Card>
|
|
379
379
|
|
|
@@ -383,7 +383,7 @@ Get test notifications in your team chat:
|
|
|
383
383
|
<Card
|
|
384
384
|
title="Observability & Debugging"
|
|
385
385
|
icon="microscope"
|
|
386
|
-
href="/
|
|
386
|
+
href="/features/observable"
|
|
387
387
|
>
|
|
388
388
|
Learn about Dashcam replays and debugging
|
|
389
389
|
</Card>
|
|
@@ -391,7 +391,7 @@ Get test notifications in your team chat:
|
|
|
391
391
|
<Card
|
|
392
392
|
title="Continuous Testing"
|
|
393
393
|
icon="arrows-spin"
|
|
394
|
-
href="/
|
|
394
|
+
href="/features/continuous-testing"
|
|
395
395
|
>
|
|
396
396
|
CI/CD integration guide
|
|
397
397
|
</Card>
|
|
@@ -407,7 +407,7 @@ Get test notifications in your team chat:
|
|
|
407
407
|
<Card
|
|
408
408
|
title="API Documentation"
|
|
409
409
|
icon="code"
|
|
410
|
-
href="/
|
|
410
|
+
href="/api/overview"
|
|
411
411
|
>
|
|
412
412
|
Programmatic access to reports
|
|
413
413
|
</Card>
|
|
@@ -274,7 +274,7 @@ export default defineConfig({
|
|
|
274
274
|
</Card>
|
|
275
275
|
</CardGroup>
|
|
276
276
|
|
|
277
|
-
[See complete Vitest integration guide](/
|
|
277
|
+
[See complete Vitest integration guide](/guides/vitest)
|
|
278
278
|
|
|
279
279
|
## CI/CD Compatible
|
|
280
280
|
|
|
@@ -299,7 +299,7 @@ TestDriver integrates seamlessly with all major CI/CD platforms:
|
|
|
299
299
|
TD_API_KEY: ${{ secrets.TD_API_KEY }}
|
|
300
300
|
```
|
|
301
301
|
|
|
302
|
-
[GitHub Actions guide](/
|
|
302
|
+
[GitHub Actions guide](/guides/ci-cd/github-actions)
|
|
303
303
|
</Tab>
|
|
304
304
|
|
|
305
305
|
<Tab title="GitLab CI">
|
|
@@ -313,7 +313,7 @@ TestDriver integrates seamlessly with all major CI/CD platforms:
|
|
|
313
313
|
TD_API_KEY: $TD_API_KEY
|
|
314
314
|
```
|
|
315
315
|
|
|
316
|
-
[GitLab CI guide](/
|
|
316
|
+
[GitLab CI guide](/guides/ci-cd/gitlab)
|
|
317
317
|
</Tab>
|
|
318
318
|
|
|
319
319
|
<Tab title="CircleCI">
|
|
@@ -329,7 +329,7 @@ TestDriver integrates seamlessly with all major CI/CD platforms:
|
|
|
329
329
|
- run: vitest run
|
|
330
330
|
```
|
|
331
331
|
|
|
332
|
-
[CircleCI guide](/
|
|
332
|
+
[CircleCI guide](/guides/ci-cd/circleci)
|
|
333
333
|
</Tab>
|
|
334
334
|
|
|
335
335
|
<Tab title="Jenkins">
|
|
@@ -347,7 +347,7 @@ TestDriver integrates seamlessly with all major CI/CD platforms:
|
|
|
347
347
|
}
|
|
348
348
|
```
|
|
349
349
|
|
|
350
|
-
[Jenkins guide](/
|
|
350
|
+
[Jenkins guide](/guides/ci-cd/jenkins)
|
|
351
351
|
</Tab>
|
|
352
352
|
</Tabs>
|
|
353
353
|
|
|
@@ -693,7 +693,7 @@ Built for teams with multiple developers:
|
|
|
693
693
|
vitest run
|
|
694
694
|
```
|
|
695
695
|
|
|
696
|
-
[Learn about sandbox management](/
|
|
696
|
+
[Learn about sandbox management](/guides/sandbox-management)
|
|
697
697
|
</Accordion>
|
|
698
698
|
</AccordionGroup>
|
|
699
699
|
|
|
@@ -732,7 +732,7 @@ TestDriver supports the largest testing operations:
|
|
|
732
732
|
<Card
|
|
733
733
|
title="Vitest Integration"
|
|
734
734
|
icon="flask-vial"
|
|
735
|
-
href="/
|
|
735
|
+
href="/guides/vitest"
|
|
736
736
|
>
|
|
737
737
|
Complete Vitest guide
|
|
738
738
|
</Card>
|
|
@@ -740,7 +740,7 @@ TestDriver supports the largest testing operations:
|
|
|
740
740
|
<Card
|
|
741
741
|
title="CI/CD Setup"
|
|
742
742
|
icon="arrows-spin"
|
|
743
|
-
href="/
|
|
743
|
+
href="/guides/ci-cd/overview"
|
|
744
744
|
>
|
|
745
745
|
CI/CD integration guides
|
|
746
746
|
</Card>
|
|
@@ -748,7 +748,7 @@ TestDriver supports the largest testing operations:
|
|
|
748
748
|
<Card
|
|
749
749
|
title="Performance Optimization"
|
|
750
750
|
icon="gauge-high"
|
|
751
|
-
href="/
|
|
751
|
+
href="/guides/performance"
|
|
752
752
|
>
|
|
753
753
|
Optimize test performance
|
|
754
754
|
</Card>
|
|
@@ -756,7 +756,7 @@ TestDriver supports the largest testing operations:
|
|
|
756
756
|
<Card
|
|
757
757
|
title="Self-Hosting"
|
|
758
758
|
icon="server"
|
|
759
|
-
href="/
|
|
759
|
+
href="/guides/self-hosting"
|
|
760
760
|
>
|
|
761
761
|
Run on your infrastructure
|
|
762
762
|
</Card>
|
|
@@ -505,19 +505,19 @@ When reporting issues:
|
|
|
505
505
|
## See Also
|
|
506
506
|
|
|
507
507
|
<CardGroup cols={2}>
|
|
508
|
-
<Card title="Debugging" icon="bug" href="/
|
|
508
|
+
<Card title="Debugging" icon="bug" href="/guides/debugging">
|
|
509
509
|
Debug failing tests
|
|
510
510
|
</Card>
|
|
511
511
|
|
|
512
|
-
<Card title="Best Practices" icon="star" href="/
|
|
512
|
+
<Card title="Best Practices" icon="star" href="/guides/best-practices">
|
|
513
513
|
Testing patterns
|
|
514
514
|
</Card>
|
|
515
515
|
|
|
516
|
-
<Card title="Configuration" icon="gear" href="/
|
|
516
|
+
<Card title="Configuration" icon="gear" href="/getting-started/configuration">
|
|
517
517
|
Configure TestDriver
|
|
518
518
|
</Card>
|
|
519
519
|
|
|
520
|
-
<Card title="FAQ" icon="question" href="/
|
|
520
|
+
<Card title="FAQ" icon="question" href="/guides/faq">
|
|
521
521
|
Frequently asked questions
|
|
522
522
|
</Card>
|
|
523
523
|
</CardGroup>
|
|
@@ -471,7 +471,7 @@ Recording tests in CI provides historical data and debugging:
|
|
|
471
471
|
|
|
472
472
|
## See Also
|
|
473
473
|
|
|
474
|
-
- [Vitest Integration](/
|
|
475
|
-
- [Provision API](/
|
|
474
|
+
- [Vitest Integration](/guides/vitest) - Complete Vitest setup guide
|
|
475
|
+
- [Provision API](/progressive-apis/PROVISION) - Test setup presets
|
|
476
476
|
- [Dashcam](/v6/guide/dashcam) - Test recording and replay
|
|
477
477
|
- [CI/CD Guide](/v6/getting-started/ci) - Running in continuous integration
|
|
@@ -58,14 +58,14 @@ That's it! TestDriver automatically handles all setup and teardown.
|
|
|
58
58
|
## Three Levels of Integration
|
|
59
59
|
|
|
60
60
|
<CardGroup cols={3}>
|
|
61
|
-
<Card title="Provision API" icon="rocket" href="/
|
|
61
|
+
<Card title="Provision API" icon="rocket" href="/progressive-apis/PROVISION">
|
|
62
62
|
**Easiest** - One-line setup
|
|
63
63
|
```javascript
|
|
64
64
|
const { testdriver } = await provision('chrome', { url }, context);
|
|
65
65
|
```
|
|
66
66
|
</Card>
|
|
67
67
|
|
|
68
|
-
<Card title="Hooks API" icon="link" href="/
|
|
68
|
+
<Card title="Hooks API" icon="link" href="/progressive-apis/HOOKS">
|
|
69
69
|
**Flexible** - More control
|
|
70
70
|
```javascript
|
|
71
71
|
const client = useTestDriver(context);
|
|
@@ -73,7 +73,7 @@ That's it! TestDriver automatically handles all setup and teardown.
|
|
|
73
73
|
```
|
|
74
74
|
</Card>
|
|
75
75
|
|
|
76
|
-
<Card title="Core Classes" icon="code" href="/
|
|
76
|
+
<Card title="Core Classes" icon="code" href="/progressive-apis/CORE">
|
|
77
77
|
**Full Control** - Manual everything
|
|
78
78
|
```javascript
|
|
79
79
|
const client = new TestDriver(apiKey);
|
|
@@ -527,9 +527,9 @@ if (dashcam) {
|
|
|
527
527
|
|
|
528
528
|
## See Also
|
|
529
529
|
|
|
530
|
-
- [Provision API](/
|
|
531
|
-
- [Hooks API](/
|
|
532
|
-
- [Chrome Preset](/
|
|
533
|
-
- [VS Code Preset](/
|
|
534
|
-
- [Electron Preset](/
|
|
535
|
-
- [Vitest Plugin](/
|
|
530
|
+
- [Provision API](/progressive-apis/PROVISION) - One-line setup for common apps
|
|
531
|
+
- [Hooks API](/progressive-apis/HOOKS) - Flexible lifecycle control
|
|
532
|
+
- [Chrome Preset](/presets/chrome) - Browser testing
|
|
533
|
+
- [VS Code Preset](/presets/vscode) - Extension testing
|
|
534
|
+
- [Electron Preset](/presets/electron) - Desktop app testing
|
|
535
|
+
- [Vitest Plugin](/guides/vitest-plugin) - Test recording and reporting
|
|
@@ -18,7 +18,7 @@ const path = require("path");
|
|
|
18
18
|
// Paths
|
|
19
19
|
const EXAMPLES_DIR = path.join(__dirname, "../../examples");
|
|
20
20
|
const MANIFEST_PATH = path.join(__dirname, "../_data/examples-manifest.json");
|
|
21
|
-
const OUTPUT_DIR = path.join(__dirname, "../
|
|
21
|
+
const OUTPUT_DIR = path.join(__dirname, "../examples");
|
|
22
22
|
const DOCS_JSON_PATH = path.join(__dirname, "../docs.json");
|
|
23
23
|
|
|
24
24
|
// Examples to exclude from docs generation (filenames without path)
|
|
@@ -460,25 +460,24 @@ npx vitest run examples/${testMeta.filename}
|
|
|
460
460
|
|
|
461
461
|
// Update docs.json navigation
|
|
462
462
|
function updateDocsNavigation(docsJson, examplePages, options) {
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
console.error("❌ Could not find v7 version in docs.json");
|
|
463
|
+
const groups = docsJson.navigation.groups;
|
|
464
|
+
if (!groups) {
|
|
465
|
+
console.error("❌ Could not find navigation.groups in docs.json");
|
|
467
466
|
return false;
|
|
468
467
|
}
|
|
469
468
|
|
|
470
469
|
// Find Examples group - it may be nested inside Overview's pages
|
|
471
|
-
const examplesPages = examplePages.map((slug) => `/
|
|
470
|
+
const examplesPages = examplePages.map((slug) => `/examples/${slug}`);
|
|
472
471
|
let examplesGroup = null;
|
|
473
472
|
|
|
474
473
|
// Search top-level groups first
|
|
475
|
-
examplesGroup =
|
|
474
|
+
examplesGroup = groups.find((g) =>
|
|
476
475
|
typeof g === "object" && g.group === "Examples"
|
|
477
476
|
);
|
|
478
477
|
|
|
479
478
|
// If not found at top level, search inside each group's pages (nested groups)
|
|
480
479
|
if (!examplesGroup) {
|
|
481
|
-
for (const group of
|
|
480
|
+
for (const group of groups) {
|
|
482
481
|
if (group.pages) {
|
|
483
482
|
const nested = group.pages.find((p) =>
|
|
484
483
|
typeof p === "object" && p.group === "Examples"
|
|
@@ -499,7 +498,7 @@ function updateDocsNavigation(docsJson, examplePages, options) {
|
|
|
499
498
|
}
|
|
500
499
|
} else {
|
|
501
500
|
// Create new group nested inside Overview
|
|
502
|
-
const overviewGroup =
|
|
501
|
+
const overviewGroup = groups.find((g) => g.group === "Overview");
|
|
503
502
|
const newGroup = {
|
|
504
503
|
group: "Examples",
|
|
505
504
|
icon: "code",
|
|
@@ -511,7 +510,7 @@ function updateDocsNavigation(docsJson, examplePages, options) {
|
|
|
511
510
|
const insertIdx = Math.min(2, overviewGroup.pages.length);
|
|
512
511
|
overviewGroup.pages.splice(insertIdx, 0, newGroup);
|
|
513
512
|
} else {
|
|
514
|
-
|
|
513
|
+
groups.push(newGroup);
|
|
515
514
|
}
|
|
516
515
|
|
|
517
516
|
if (options.verbose) {
|
|
@@ -4,13 +4,13 @@ const fs = require("fs");
|
|
|
4
4
|
const path = require("path");
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Script to generate MCP skills from docs
|
|
7
|
+
* Script to generate MCP skills from the docs/*.mdx files
|
|
8
8
|
*
|
|
9
9
|
* This script reads the frontmatter from each mdx file and generates
|
|
10
10
|
* SKILL.md files in the skills/ output directory.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
const DOCS_DIR = path.join(__dirname, "
|
|
13
|
+
const DOCS_DIR = path.join(__dirname, "..");
|
|
14
14
|
const OUTPUT_DIR = path.join(__dirname, "../../ai/skills");
|
|
15
15
|
|
|
16
16
|
// Parse YAML frontmatter from mdx content
|
|
@@ -108,7 +108,7 @@ function processFiles() {
|
|
|
108
108
|
|
|
109
109
|
// Main function
|
|
110
110
|
function main() {
|
|
111
|
-
console.log("🚀 Generating MCP skills from docs
|
|
111
|
+
console.log("🚀 Generating MCP skills from docs/*.mdx files...\n");
|
|
112
112
|
console.log(`📂 Source: ${DOCS_DIR}`);
|
|
113
113
|
console.log(`📂 Output: ${OUTPUT_DIR}\n`);
|
|
114
114
|
|
|
@@ -133,7 +133,7 @@ Options:
|
|
|
133
133
|
--help, -h Show this help message
|
|
134
134
|
|
|
135
135
|
Description:
|
|
136
|
-
This script generates MCP skill files from the docs
|
|
136
|
+
This script generates MCP skill files from the docs/*.mdx documentation.
|
|
137
137
|
|
|
138
138
|
Each .mdx file is converted to a SKILL.md file with:
|
|
139
139
|
- name: testdriver:<filename>
|