Skip to main content

Demo Test Run

Watch this test execute in a real sandbox environment:

Source Code

captcha-api.test.mjs
/**
 * TestDriver SDK - Captcha Test
 */
import { describe, expect, it } from "vitest";
import { TestDriver } from "../lib/vitest/hooks.mjs";

console.log("DEBUG: process.env.TD_OS:", process.env.TD_OS);

describe("testdriver.captcha() API", () => {
  it("should solve reCAPTCHA v3 with auto-detect", async (context) => {
    const testdriver = TestDriver(context);

    // Launch Chrome (remote debugging is enabled automatically on Linux)
    await testdriver.provision.chrome({
      url: "https://2captcha.com/demo/recaptcha-v3",
    });

    await testdriver.screenshot();

    // Solve the captcha with just the API key - everything else is auto-detected!
    const result = await testdriver.captcha({
      apiKey: process.env.TWOCAPTCHA_API_KEY,
    });

    console.log("Captcha result:", result);
    await testdriver.screenshot();

    expect(result.success).toBe(true);
  }, 180000);

  it("should solve Cloudflare Turnstile", async (context) => {
    const testdriver = TestDriver(context);

    await testdriver.provision.chrome({
      url: "https://2captcha.com/demo/cloudflare-turnstile",
    });

    await testdriver.screenshot();

    const result = await testdriver.captcha({
      apiKey: process.env.TWOCAPTCHA_API_KEY,
    });

    console.log("Turnstile result:", result);
    await testdriver.screenshot();

    expect(result.success).toBe(true);
  }, 180000);
});

Running This Example

# Clone the TestDriver repository
git clone https://github.com/testdriverai/testdriverai

# Install dependencies
cd testdriverai
npm install

# Run this specific example
npx vitest run examples/captcha-api.test.mjs
Make sure you have TD_API_KEY set in your environment. Get one at testdriver.ai.