Skip to main content
TestDriver is an end-to-end testing platform that tests your app the way a person uses it.
  • It looks at the screen.
  • It finds elements from plain-language descriptions.
  • It controls a real machine with the mouse and keyboard.
It doesnโ€™t rely on CSS or XPath selectors. So it can test flows that selector-based tools canโ€™t reach, such as desktop apps, browser extensions, and content that changes every time it renders.

Where selector-based tests fall short

Tools such as Playwright and Cypress drive a single web page through its DOM. They locate elements with selectors. That works until a test needs something the DOM canโ€™t describe reliably:

How TestDriver works

A TestDriver test is a Vitest test. It runs against a cloud sandbox, a fresh Linux machine, or Windows on Enterprise plans. Each step describes what a user would see or do:
  1. Provision launches the app under test in the sandbox, such as Chrome at a URL, a Chrome extension, VS Code, an Electron app, or a downloaded installer.
  2. Find takes a description like 'Sign in button' and uses AI vision to locate the matching element on screen.
  3. Act clicks, types, scrolls, and presses keys on the real machine. The app receives the same input a person would produce.
  4. Assert checks a plain-language statement about the screen, such as 'the cart shows one item'.
This test installs the Loom extension from the Chrome Web Store. It checks that Loom appears in Chromeโ€™s extensions menu, a flow that a DOM-only tool canโ€™t drive:
tests/loom-extension.test.mjs
To run this yourself, follow the Quickstart.

Whatโ€™s included

  • The SDK, the testdriverai npm package. Use it in Vitest tests to provision apps, find elements, act, and assert.
  • Cloud sandboxes that run your tests on fresh Linux machines, or Windows on Enterprise plans. Enterprise customers can also self-host them.
  • Debugging tools: screen recordings of every run, screenshots, and element caching for faster, more stable repeat runs.
  • The TestDriver agent, which reviews your pull requests and writes and maintains tests from GitHub.

When to use TestDriver

TestDriver is built for flows that are hard to cover any other way:
  • Multi-application workflows
  • Desktop software
  • Browser extensions
  • Third-party UIs
  • Visual checks
Each step runs on a real machine and uses AI vision. So a TestDriver test takes longer per step than a test that talks to the DOM directly. If stable, selector-based tests already cover a flow, keep them. Use TestDriver for the parts they canโ€™t reach.

Quickstart

Install TestDriver and run your first test.

Locate elements

Write descriptions that find the right element reliably.

The TestDriver agent

Let the agent review pull requests and build tests from GitHub.

Hosted sandboxes

Run tests on TestDriverโ€™s cloud infrastructure.