TestDriver integrates seamlessly with all major CI/CD platforms, enabling automated testing from small projects to enterprise test suites with thousands of tests.
Works with Vitest
Full integration with Vitest’s powerful features:
import { defineConfig } from 'vitest/config' ;
export default defineConfig ({
test: {
testTimeout: 120000 ,
hookTimeout: 120000 ,
maxConcurrency: 10 , // Run 10 tests in parallel
minThreads: 2 ,
maxThreads: 10 ,
} ,
}) ;
Parallel Execution Run multiple tests simultaneously for maximum throughput: # Run all tests in parallel
npx vitest run
# Control concurrency
npx vitest run --max-concurrency=5
Watch Mode Instant feedback during development: # Run in watch mode
npx vitest
# Only run changed tests
npx vitest --changed
See complete Vitest integration guide
CI/CD Compatible
TestDriver integrates seamlessly with all major CI/CD platforms:
GitHub Actions
GitLab CI
CircleCI
Jenkins
.github/workflows/test.yml
name : E2E Tests
on : [ push , pull_request ]
jobs :
test :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v3
- uses : actions/setup-node@v3
- run : npm install
- run : npx vitest run
env :
TD_API_KEY : ${{ secrets.TD_API_KEY }}
GitHub Actions guide test :
image : node:20
script :
- npm install
- npx vitest run
variables :
TD_API_KEY : $TD_API_KEY
GitLab CI guide version : 2.1
jobs :
test :
docker :
- image : cimg/node:20.0
steps :
- checkout
- run : npm install
- run : npx vitest run
CircleCI guide pipeline {
agent any
stages {
stage( 'Test' ) {
steps {
sh 'npm install'
sh 'npx vitest run'
}
}
}
}
Jenkins guide
JUnit Reports
Generate JUnit XML reports for test result aggregation:
# Generate JUnit report
npx vitest run --reporter=junit --outputFile=test-results.xml
<? xml version = "1.0" encoding = "UTF-8" ?>
< testsuites name = "vitest tests" tests = "12" failures = "0" errors = "0" time = "125.3" >
< testsuite name = "login.test.js" tests = "3" failures = "0" time = "31.2" >
< testcase name = "user can login" time = "12.4" />
< testcase name = "invalid credentials show error" time = "9.8" />
< testcase name = "password reset works" time = "9.0" />
</ testsuite >
<!-- More test suites -->
</ testsuites >
JUnit reports integrate with Jenkins, Azure DevOps, TeamCity, and other CI platforms for test result visualization.
Scale to Thousands of Tests
TestDriver handles large test suites efficiently:
Enterprise Test Suite Example Project: E-commerce Platform
Total tests: 3,847
Test files: 412
Parallel runners: 20
Total duration: 18 minutes
Breakdown:
- Unit tests: 2,134 (3 min)
- Integration: 891 (7 min)
- E2E (TestDriver): 822 (18 min)
Cost per run: $4.32
Runs per day: 50
Monthly cost: $6,480
With caching enabled: E2E duration: 8 minutes (2.25x faster)
Cost per run: $1.89 (56% reduction)
Monthly cost: $2,835 (saves $3,645/month)
Test Sharding
Distribute tests across multiple machines:
GitHub Actions Matrix
GitLab CI Parallel
Manual Sharding
.github/workflows/test.yml
strategy :
matrix :
shard : [ 1 , 2 , 3 , 4 , 5 ]
steps :
- run : npx vitest run --shard=${{ matrix.shard }}/5
Runs 5 parallel jobs, each handling 1/5 of tests. test :
parallel : 5
script :
- npx vitest run --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL
# Machine 1
npx vitest run --shard=1/4
# Machine 2
npx vitest run --shard=2/4
# Machine 3
npx vitest run --shard=3/4
# Machine 4
npx vitest run --shard=4/4
Team Collaboration
Built for teams with multiple developers:
Tests automatically benefit from each other’s cache entries: // Developer A runs test
await testdriver . find ( 'submit button' ). click ();
// Creates cache entry
// Developer B runs test later
await testdriver . find ( 'submit button' ). click ();
// Uses Developer A's cache ⚡
Per-team cache sharing accelerates everyone’s tests.
Share test replays with your team: test ( 'shareable replay' , async ( context ) => {
const { testdriver , dashcam } = await chrome ( context , { url });
await testdriver . find ( 'button' ). click ();
// Share replay URL with team
console . log ( 'Replay:' , dashcam . url );
// https://console.testdriver.ai/dashcam/abc123
});
View replays at app.testdriver.ai
Long-running sandboxes for team debugging: # Spawn a sandbox for the team
testdriver sandbox spawn --timeout 7200000
# Team members can connect
export TESTDRIVER_SANDBOX_ID = i-0abc123def
npx vitest run
Learn about sandbox management
Cost Optimization
TestDriver scales cost-effectively:
Pricing Model
API calls: Pay per AI vision analysis
Sandbox time: Pay per minute of VM usage
Caching: Reduces both costs dramatically
Shared cache: Team benefits from collective cache
Example costs:
Single test run: 0.04 − 0.04 - 0.04 − 0.12
100-test suite: 4 − 4 - 4 − 12 (first run)
Cached suite: 0.50 − 0.50 - 0.50 − 2 (90%+ savings)
Enterprise Scale
TestDriver supports the largest testing operations:
Unlimited tests in enterprise plans
Unlimited sandbox hours for large suites
Unlimited team members for collaboration
Priority infrastructure for faster execution
Dedicated support for optimization help
Custom SLA for guaranteed uptime
Contact sales for enterprise pricing.
Learn More