Agent Device vs TestDriver: Testing Tool Comparison

Agent Device and TestDriver side by side: verified capabilities, integrations, pricing, and limitations, each claim cited to an official source.

SDK examples

One documented example per tool where available.

  • TypeScript
  • JavaScript
nodejs-api-basic TypeScript Basic usage Not run
Package:
agent-device (version not recorded)
Install:
npm install agent-device
import { createAgentDeviceClient } from 'agent-device';

async function main() {
  const client = createAgentDeviceClient({
    session: 'qa-integration',
    platform: 'ios',
    udid: 'auto',
  });

  try {
    await client.sessions.open();
    await client.command.openApp({ bundleId: 'com.apple.Preferences' });
    await client.command.tapOn({ text: 'Wi-Fi' });
    await client.command.tapOn({ text: 'Other...' });
    await client.command.inputText({ text: 'MyNetwork', into: 'Network Name' });
    await client.command.tapOn({ text: 'Join' });
  } finally {
    await client.sessions.close();
  }
}

await main();

Run: node --experimental-strip-types examples/sdk/client-session.ts

Adapted from official docs

quickstart-manual JavaScript Search test Not run
Package:
testdriverai (version not recorded)
Install:
npm install --save-dev vitest testdriverai
import { test, expect } from 'vitest';
import { TestDriver } from 'testdriverai/vitest/hooks';

test('search shows results', async (context) => {
  const testdriver = TestDriver(context);
  await testdriver.provision.chrome({ url: 'https://duckduckgo.com' });
  const searchBox = await testdriver.find('search input field');
  await searchBox.click();
  await testdriver.type('testdriver.ai');
  await testdriver.pressKeys(['enter']);
  const result = await testdriver.assert('search results are displayed');
  expect(result).toBeTruthy();
});

Run: npx vitest run

Official docs

Unknown means no documentation was found; it is not the same as unsupported.
FieldScreenshot of the Agent Device homepage Agent DeviceScreenshot of the TestDriver homepage TestDriver
Identity
CategoryTestingTesting
VendorCallstackTestDriver
Product statusactiveactive
SummaryAgent Device is Callstack's open-source command-line tool and MCP server that lets AI coding agents inspect, control, and verify mobile, TV, desktop, and web applications.TestDriver is an AI testing product from TestDriver that runs applications to test them; this directory is published by the same company.
Product kindFramework, AI testing agentAI testing agent, Testing platform
AI
Uses AI
Supported
Verified 2026-09-26[5]
Supported
Test generation, Execution, Self-healing, Failure analysis
The TestDriver agent reviews PRs, writes tests, and runs them.
Verified 2026-09-25[4][14][11]
AI test generation
Supported
Verified 2026-09-26[5]
Supported
Verified 2026-09-25[14][11]
AI executes the app
Supported
Verified 2026-09-26[5]
Supported
Verified 2026-09-25[4][14]
AI generates code only
Unsupported
Null
Verified 2026-09-26[5]
Supported
Verified 2026-09-25[14][11]
Autonomous exploration
Supported
Verified 2026-09-26[5]
Unknown
Verified 2026-09-25[4]
Vision-based interaction
Supported
Verified 2026-09-26[6]
Supported
Verified 2026-09-25[4][12]
Selector-free execution
Supported
Verified 2026-09-26[7]
Supported
Verified 2026-09-25[12]
Adapts to UI changes
Unknown
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[4][16][11]
Self-healing
Unknown
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[4][16][11]
AI failure analysis
Supported
Verified 2026-09-26[5]
Supported
Verified 2026-09-25[4][11]
What it tests
Testing typesEnd-to-end, Functional, Regression, ExploratoryEnd-to-end, Functional
TargetsWeb app, Native desktop, Native mobileWeb app, Native desktop, Browser extension, Vscode
Native desktop testing
Supported
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[6][5]
Native mobile testing
Supported
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[11]
Browser extension testing
Unknown
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[6][5]
Cross-browser testing
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[6]
Cross-platform testing
Supported
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[18][6]
Real device testing
Supported
Verified 2026-09-26[2]
Supported
Verified 2026-09-25[4][6][11]
Multi-tab testing
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
iframe testing
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
Canvas testing
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
PDF validation
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
File upload testing
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
File download testing
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
OAuth testing
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
Email testing
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
Notification testing
Supported
Verified 2026-09-26[8]
Unknown
Verified 2026-09-25[15]
Video content validation
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
Developer integrations
MCP server
Supported
Verified 2026-09-26[5]
Supported
Official
Can be initialized via CLI for Cursor, Claude Code, and VS Code.
Verified 2026-09-25[1][17]
VS Code extension
Unknown
Verified 2026-09-26[5]
Supported
Official
Used for IDE preview mode.
Verified 2026-09-25[2][6][5]
SDK
Supported
Verified 2026-09-26[3]
Supported
Official · JavaScript
Requires Vitest.
Verified 2026-09-25[9][1]
PR workflow
GitHub
Supported
Verified 2026-09-26[8]
Supported
GitHub App, Check runs, PR comments, Issue creation
The agent reviews PRs, comments on issues, and runs tests.
Verified 2026-09-25[3][4][15][11]
CI execution
Supported
Verified 2026-09-26[2]
Supported
Verified 2026-09-25[4][18]
GitHub PR checks
Unknown
Verified 2026-09-26[2]
Supported
Verified 2026-09-25[4][11]
PR-aware test selection
Unknown
Verified 2026-09-26[2]
Unknown
Verified 2026-09-25[11]
Autonomous PR validation
Supported
Verified 2026-09-26[2]
Supported
Verified 2026-09-25[4][11]
PR comments
Unknown
Verified 2026-09-26[2]
Supported
Verified 2026-09-25[4][11]
Preview deployment testing
Unknown
Verified 2026-09-26[2]
Unknown
Verified 2026-09-25[15]
Merge gating
Unknown
Verified 2026-09-26[2]
Unknown
Verified 2026-09-25[15]
Scheduled execution
Unknown
Verified 2026-09-26[2]
Unknown
Verified 2026-09-25[15]
Pricing
Pricing
Free
Free
Pricing modelsFreeFree, Subscription, Usage-based, Per seat, Per parallel session, Custom
Free tierAvailableAvailable
TrialNot applicableAvailable
Deployment
DeploymentLocal, Self-hostedSaaS, Self-hosted
LicenseOpen sourceProprietary
License identifiersMITNot researched
Compatibility
LanguagesJavaScript, TypeScript, Natural languageJavaScript, TypeScript
Runner OSWindows, macOS, LinuxLinux, Windows
Target OSWindows, macOS, Linux, iOS, AndroidLinux, Windows, iOS, Android
Browser enginesNot researchedChromium
BrowsersNot researchedChrome
Device modesReal device, Emulator, SimulatorReal device, Responsive viewport
Creation and execution
Execution modelOS input, Real device, Emulator, Simulator, HybridBrowser DOM, OS input, Computer vision
Authoring methodCode, AI-generated workflow, Autonomous exploration, Imported testsCode, AI-generated code, Natural language
Code authoring
Supported
Verified 2026-09-26[3]
Supported
Verified 2026-09-25[1]
Recorder
Supported
Verified 2026-09-26[4]
Unknown
Verified 2026-09-25[4]
Natural language authoring
Supported
Verified 2026-09-26[5]
Supported
Verified 2026-09-25[14][11]
Test import
Supported
Verified 2026-09-26[4]
Unknown
Verified 2026-09-25[15]
Reusable steps
Supported
Verified 2026-09-26[4]
Unknown
Verified 2026-09-25[15]
Parameterized tests
Supported
Verified 2026-09-26[4]
Unknown
Verified 2026-09-25[15]
Test data generation
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
Fit
AudienceDevelopers, QA engineers, SDETNot researched
Company sizeSolo, Startup, SMB, Mid-market, EnterpriseNot researched
Use casesRegression testing, Pull request validation, Test generationPull request validation, Regression testing, Test maintenance, Test generation
Validation
Visual regression
Supported
Verified 2026-09-26[8]
Supported
Verified 2026-09-25[19]
Semantic visual assertions
Supported
Verified 2026-09-26[4]
Supported
Verified 2026-09-25[4][12][20]
Accessibility checks
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[20]
API assertions
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[20]
Database assertions
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[20]
Spelling and grammar checks
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[20]
Dark and light mode testing
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
Performance measurement
Supported
Verified 2026-09-26[8]
Supported
Verified 2026-09-25[19]
Running
Local execution
Supported
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[1]
Headless execution
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[6]
Headed execution
Supported
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[1]
Parallel execution
Supported
Verified 2026-09-26[2]
Supported
Verified 2026-09-25[7][18]
Test sharding
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[18]
Auto-waiting
Supported
Verified 2026-09-26[4]
Supported
Verified 2026-09-25[16]
Automatic retries
Supported
Verified 2026-09-26[4]
Supported
Verified 2026-09-25[16]
Network mocking
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[15]
Secrets injection
Unknown
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[18][11]
Private network access
Unknown
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[8]
Diagnosis
Screenshots
Supported
Verified 2026-09-26[8]
Supported
Verified 2026-09-25[17]
Video recording
Unknown
Verified 2026-09-26[8]
Unknown
Verified 2026-09-25[17]
Execution traces
Supported
Verified 2026-09-26[5]
Unknown
Verified 2026-09-25[17]
Console logs
Supported
Verified 2026-09-26[5]
Unknown
Verified 2026-09-25[17]
Network logs
Supported
Verified 2026-09-26[5]
Unknown
Verified 2026-09-25[17]
Replay
Supported
Verified 2026-09-26[4]
Unknown
Verified 2026-09-25[17]
Interactive debugging
Supported
Verified 2026-09-26[5]
Supported
Verified 2026-09-25[17]
Failure grouping
Unknown
Verified 2026-09-26[1]
Unknown
Verified 2026-09-25[17]
Debug artifactsScreenshot, Trace, Console log, Network logScreenshot
Enterprise
SSO (SAML)
Unknown
Verified 2026-09-26[10]
Unknown
Verified 2026-09-25[18]
SSO (OIDC)
Unknown
Verified 2026-09-26[10]
Supported
Verified 2026-09-25[18]
SCIM
Unknown
Verified 2026-09-26[10]
Unknown
Verified 2026-09-25[18]
RBAC
Unknown
Verified 2026-09-26[10]
Unknown
Verified 2026-09-25[15]
Audit logs
Unknown
Verified 2026-09-26[10]
Unknown
Verified 2026-09-25[15]
Secrets management
Unknown
Verified 2026-09-26[10]
Supported
Verified 2026-09-25[18][11]
Configurable retention
Unknown
Verified 2026-09-26[10]
Unknown
Verified 2026-09-25[15]
Private runners
Unknown
Verified 2026-09-26[10]
Supported
Verified 2026-09-25[8]
On-premises deployment
Supported
Verified 2026-09-26[1]
Supported
Verified 2026-09-25[8]
Data residency
Unknown
Verified 2026-09-26[10]
Unknown
Verified 2026-09-25[8]
Training opt-out
Unknown
Verified 2026-09-26[10]
Unknown
Verified 2026-09-25[15]
Operations
Setup difficultylowNot researched
Maintenance approachManual code, Resilient locatorsManual code, Resilient locators, Self-healing, Ai regeneration
Max concurrencynull1
Reliability mechanismsAuto wait, RetryAuto wait, Retry, Flaky test detection
InterfacesCLI, API, SDK, MCPCLI, Web UI, IDE extension, SDK
Security
CertificationsNot researchedNot researched
Data regionsNot researchedNot researched
Customer data used for trainingNot researchedNot researched
Support
Support channelsDocs, Github issuesNot researched
Support SLANot researchedYes
Integrations
IntegrationsBrowserStack, AWS Device Farm, LimrunGitHub Actions, GitLab CI, Jenkins, CircleCI, Azure Pipelines