Getting Started
Get your access key, point an existing Selenium or Playwright suite at the TestKase endpoint, run your first test, and open the session.
Getting Started
Getting a suite running on Automate is three steps: grab your access key, point your suite at the TestKase endpoint, and run it. Nothing about your test code changes.
1. Get your access key
Automate authenticates with your TestKase login email plus a personal access key.
- Open Settings → Access Keys in your TestKase dashboard.
- Copy your access key — it's a long token that starts with
xyz_. - Note your login email — you'll pair it with the key as the endpoint credentials.
Treat your access key like a password. Store it as a CI secret (for example TESTKASE_ACCESS_KEY) rather than committing it. You can rotate it any time from the same page.
2. Know your endpoint
Pick the endpoint for your framework:
| Framework | Endpoint |
|---|---|
| Selenium (W3C WebDriver) | https://<email>:<accessKey>@hub.testkase.com/wd/hub |
| Playwright | wss://hub.testkase.com/playwright?capabilities=<url-encoded JSON> |
For Selenium, URL-encode the @ in your email as %40 — most bindings expect valid URL syntax and will silently drop a literal @ in the userinfo section.
3. Point your suite at it
Selenium
Change the server URL your RemoteWebDriver / Builder connects to, and set the browser, version, and platform in your capabilities:
const { Builder } = require("selenium-webdriver");
const hub = "https://your-email%40company.com:xyz_your_access_key@hub.testkase.com/wd/hub";
const driver = await new Builder()
.usingServer(hub)
.withCapabilities({
browserName: "chrome",
browserVersion: "latest",
platformName: "macOS 15",
"testkase:options": { build: "smoke-1", name: "my first test" },
})
.build();
await driver.get("https://example.com");
await driver.quit();Full language snippets (Python, Java) and the capability reference are in Selenium.
Playwright
Connect a vanilla @playwright/test install to the WebSocket endpoint — use the browser type that matches your target (chromium.connect, firefox.connect, or webkit.connect):
import { chromium } from "@playwright/test";
const caps = encodeURIComponent(JSON.stringify({
browserName: "Chrome",
browserVersion: "latest",
"testkase:options": {
username: "you@company.com",
accessKey: process.env.TESTKASE_ACCESS_KEY,
build: "smoke-1",
name: "my first test",
},
}));
const browser = await chromium.connect(`wss://hub.testkase.com/playwright?capabilities=${caps}`);
const page = await (await browser.newContext()).newPage();
await page.goto("https://example.com");
await browser.close();The Playwright page covers the recommended @testkase/playwright-reporter wrapper (richer artifacts, zero code changes) and supported Playwright versions.
4. Run it and open the session
Run your suite the same way you always do — npx playwright test, pytest, mvn test, or your CI step. When the session starts, TestKase creates a session on the dashboard.
- Open Automate → Sessions in your dashboard.
- Click the newest session to open its detail page.
- Watch it live while it runs, or review the recording, console, network, and driver logs once it finishes.
Group related runs by setting testkase:options.build to your CI run ID or commit SHA — every session with the same build value rolls up together in the dashboard.
Next steps
Overview
Run your existing Selenium and Playwright suites on real browsers — Chrome, Edge, Firefox, and Safari on real macOS — straight from CI, with no rewrites.
Selenium
Run any official Selenium binding against the TestKase W3C WebDriver endpoint — capabilities, authentication, per-test hooks, and supported commands.
