testdriver:agent
FreeHow the TestDriver agent behaves on GitHub issues, pull requests, and @mentions
The English summary is being prepared. Showing the original description.
Reliably test your most difficult user flows
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Usual test tools such as Playwright test one web application. They use one browser tab and they use selectors.
But selectors are frequently not reliable, or they are not available. This makes tests weak and not stable:
| Challenge | Problem | Examples |
|---|---|---|
| Teams that move quickly | They change the UI structure frequently. This breaks the CSS and XPath selectors. | Agile teams, startups, vibe-coders |
| Dynamic content | You cannot select it with selectors. | AI chatbots, PDFs, images, videos |
| Software that you do not own | It can have no correct accessibility attributes. | Other websites, extensions, third-party applications |
| Workflows with more than one application | You cannot test them with web-only tools. | Desktop apps, browser extensions, IDEs |
| Visual states | You cannot make a check of them with code selectors. | Charts, graphs, videos, images, spelling errors, UI layout |
TestDriver is a complete test platform. It handles these conditions. It has a Javascript SDK, hosted infrastructure, and debug tools. These tools make it easy to write, run, and keep tests for your most difficult user flows.
This is an example of a TestDriver test. The test installs a production Chrome extension from the Chrome Web Store. Then it makes sure that the extension is in the extensions menu:
import { describe, expect, it } from "vitest";
import { TestDriver } from "testdriverai/vitest/hooks";
describe("Chrome Extension Test", () => {
const testdriver = TestDriver(context);
// Launch Chrome with Loom loaded by its Chrome Web Store ID
await testdriver.provision.chromeExtension({
extensionId: 'liecbddmkiiihnedobmlmillhodjkdmb'
});
// Click on the extensions button (puzzle piece icon) in Chrome toolbar
const extensionsButton = await testdriver.find("The puzzle-shaped icon in the Chrome toolbar.");
await extensionsButton.click();
// Look for Loom in the extensions menu
const loomExtension = await testdriver.find("Loom extension in the extensions dropdown");
expect(loomExtension.found()).toBeTruthy();
});
<Tip>vitest is the preferred test runner for TestDriver.</Tip>
,
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
How the TestDriver agent behaves on GitHub issues, pull requests, and @mentions
The English summary is being prepared. Showing the original description.
Execute natural language tasks using AI
The English summary is being prepared. Showing the original description.
Make AI-powered assertions about screen state
The English summary is being prepared. Showing the original description.
Deploy TestDriver on your AWS infrastructure using CloudFormation
The English summary is being prepared. Showing the original description.
Speed up tests with screenshot-based caching
The English summary is being prepared. Showing the original description.
How TestDriver learns your app and caches what it discovers for instant, deterministic replays
The English summary is being prepared. Showing the original description.