Skip to content
Testing
Skill

/testdriver-provision

Launch browsers, desktop apps, and extensions in your sandbox

From plugin
testdriverai
35665 skills1 agent

Claude Code

$ npx -y skills add testdriverai/testdriverai --skill testdriver-provision --agent claude-code

SKILL.md

testdriver-provision.SKILL.md
name: testdriver:provision
description: Launch browsers, desktop apps, and extensions in your sandbox

<!-- Generated from provision.mdx. DO NOT EDIT. -->

Overview

The Provision API sets up applications in your sandbox before the tests run. It downloads, installs, and starts browsers, desktop apps, VS Code, Chrome extensions, and more.

Use the provision methods through `testdriver.provision.*`:

await testdriver.provision.chrome({ url: 'https://example.com' });

Methods

chrome()

Start Google Chrome with an optional URL.

await testdriver.provision.chrome(options?)

<ParamField path="options" type="ProvisionChromeOptions"> <Expandable title="properties"> <ParamField path="url" type="string" default="http://testdriver-sandbox.vercel.app/"> The URL to go to after Chrome starts. </ParamField>

<ParamField path="maximized" type="boolean" default={true}> Start Chrome with the window at the maximum size. </ParamField>

<ParamField path="guest" type="boolean" default={false}> Start Chrome in the guest profile mode. </ParamField> </Expandable> </ParamField>

// Basic
await testdriver.provision.chrome({ url: 'https://example.com' });

// With guest mode
await testdriver.provision.chrome({
  url: 'https://example.com',
  guest: true,
  maximized: true,
});

chromeExtension()

Install and start a Chrome extension. You can install it from a local unpacked directory. Or you can install it from the Chrome Web Store by the extension ID.

await testdriver.provision.chromeExtension(options)

<ParamField path="options" type="ProvisionChromeExtensionOptions" required> One of `extensionPath` or `extensionId` is required.

<Expandable title="properties"> <ParamField path="extensionPath" type="string"> Local path to an unpacked extension directory. The extension files are uploaded to the sandbox. </ParamField>

<ParamField path="extensionId" type="string"> Chrome Web Store extension ID to install. </ParamField>

<ParamField path="maximized" type="boolean" default={true}> Launch Chrome in maximized window mode. </ParamField> </Expandable> </ParamField>

// From local directory
await testdriver.provision.chromeExtension({
  extensionPath: './my-extension',
});

// From Chrome Web Store
await testdriver.provision.chromeExtension({
  extensionId: 'abcdefghijklmnop',
});

vscode()

Launch Visual Studio Code with an optional workspace and extensions.

await testdriver.provision.vscode(options?)

<ParamField path="options" type="ProvisionVSCodeOptions"> <Expandable title="properties"> <ParamField path="workspace" type="string"> Path to a workspace folder or `.code-workspace` file to open. </ParamField>

<ParamField path="extensions" type="string[]" default={[]}> Array of VS Code extension IDs to install before launching. </ParamField> </Expandable> </ParamField>

await testdriver.provision.vscode({
  workspace: '/home/testdriver/project',
  extensions: ['ms-python.python', 'esbenp.prettier-vscode'],
});

installer()

Download and run an application installer. Supports `.msi`, `.exe`, `.deb`, `.rpm`, `.appimage`, `.sh`, `.dmg`, and `.pkg` formats.

await testdriver.provision.installer(options)

<ParamField path="options" type="ProvisionInstallerOptions" required> <Expandable title="properties"> <ParamField path="url" type="string" required> Download URL for the installer. </ParamField>

<ParamField path="filename" type="string"> Override the auto-detected filename from the URL. </ParamField>

<ParamField path="appName" type="string"> Application name to focus after installation completes. </ParamField>

<ParamField path="launch" type="boolean" default={true}> Whether to focus/launch the app after installation. </ParamField> </Expandable> </ParamField>

**Behavior:**

  • Downloads the installer from the URL
  • Auto-detects the install method based on file extension
  • Runs the appropriate install command (e.g., `msiexec` for `.msi`, `dpkg` for `.deb`)
  • Optionally focuses the installed application
// Windows MSI installer
await testdriver.provision.installer({
  url: 'https://example.com/app-setup.msi',
  appName: 'MyApp',
});

// Linux DEB package
await testdriver.provision.installer({
  url: 'https://example.com/app.deb',
  appName: 'MyApp',
  launch: true,
});

electron()

Launch an Electron application.

await testdriver.provision.electron(options)

<ParamField path="options" type="ProvisionElectronOptions" required> <Expandable title="properties"> <ParamField path="appPath" type="string" required> Path to the Electron application directory or executable. </ParamField>

<ParamField path="args" type="string[]" default={[]}> Additional command-line arguments to pass to the Electron app. </ParamField> </Expandable> </ParamField>

await testdriver.provision.electron({
  appPath: '/home/testdriver/my-electron-app',
  args: ['--no-sandbox'],
});

dashcam()

Start Dashcam recording with custom options. Usually called automatically by other provision methods, but can be called directly for custom configurations.

await testdriver.provision.dashcam(options?)

<ParamField path="options" type="ProvisionDashcamOptions"> <Expandable title="properties"> <ParamField path="logPath" type="string"> Path to the TestDriver log file. Defaults to `/tmp/testdriver.log` (Linux) or `C:\Users\testdriver\testdriver.log` (Windows). </ParamField>

<ParamField path="logName" type="string" default="TestDriver Log"> Display name for the log file in the Dashcam replay. </ParamField>

<ParamField path="webLo

Read more
@testdriverai
Ships withtestdriverai

Computer-Use SDK for E2E QA Testing

35665 skills1 agent
Get the whole plugin

Stars on GitHub

Momentum

stars in total
356
Star history of testdriverai/testdriverai on GitHub, a chart by star-history.com

Other skills on testdriverai.

More skills from other plugins.

api-review

api-review

Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…

@microsoft@microsoftInstall Skill
add-e2e-selectors

add-e2e-selectors

Add reliable @grafana/e2e-selectors to interactive elements and key containers in the Grafana frontend. Use when adding e2e…

grafana5d78k
@grafana@grafanaInstall Skill
promptfoo-evals

promptfoo-evals

Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…

promptfoo13d27k
@promptfoo@promptfooInstall Skill
deepeval

deepeval

DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…

@confident-ai@confident-aiInstall Skill

Questions about testdriver-provision.

Which coding agents can use testdriver-provision?
testdriver-provision installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.