Skip to main content
By default, your tests run on TestDriver’s cloud. Each test gets a fresh sandbox, and you don’t manage any machines.
  • Hosted is the default. When you follow the Quickstart, you’re using it.
  • You’re billed in testing minutes: the time a sandbox is running.
  • Your plan sets how many sandboxes can run at the same time.

Plans

Pro starts with a 14-day free trial. Start a plan from the TestDriver console. On the Free plan, new sandboxes are refused once you’ve used your 30 minutes. Upgrade to keep testing.
If you install TestDriver from GitHub Marketplace, GitHub bills you instead. The Open Source plan is free with 300 testing minutes per month. The Team plan is $20 per seat per month with 120 testing minutes per seat.

How testing minutes are counted

Testing minutes run while a sandbox is running. That includes sandboxes started by:
  • Your test runs, locally and in CI.
  • The TestDriver agent, when it reviews a pull request or writes a test.
A sandbox kept running with keepAlive uses minutes until it shuts down. Keep keepAlive as short as you need.

Concurrency

Each running sandbox uses one of your plan’s slots. A slot frees up when its sandbox shuts down. When every slot is busy, a new test waits for a free slot instead of failing. The SDK retries every 10 seconds, for up to 60 seconds by default. Set TD_CONCURRENCY_MAX_WAIT to change the wait. See Concurrency limits. To stay within your slots, limit how many test files Vitest runs at once:
In GitHub Actions, a concurrency group stops two runs on the same branch from competing for slots. A new push cancels the older run:
.github/workflows/testdriver.yml

When to self-host

Consider self-hosting when you need to:
  • Run tests on your own infrastructure, without per-minute billing.
  • Use your own AI provider keys.
  • Run custom VM images with your software preinstalled.
  • Run more tests in parallel than the hosted plans allow.

Next steps

Quickstart

Run your first test on a hosted sandbox.

Run tests in CI/CD

Run your tests on every push and pull request.

Self-hosted

Run sandboxes on your own infrastructure.

Run tests

Run tests locally and in parallel.