Getting started
Point an existing Selenium suite at TestKase by changing one URL, and run your first test on a real browser.
The Selenium connection is an ordinary Selenium grid at https://hub.testkase.com/wd/hub. Every official Selenium client — Java, Python, JavaScript, Ruby, C# — speaks it natively, with no TestKase SDK required.
TestKase is a transport, not a translator: your Selenium library issues every command (click, type, navigate, screenshot) and the Hub forwards it to the in-VM driver — chromedriver, msedgedriver, geckodriver, or safaridriver.
1. Get your access key
Open API Keys in your dashboard and copy your key. It starts with xyz_.
2. Point your tests at TestKase
https://x:<accessKey>@hub.testkase.com/wd/hubPoint your RemoteWebDriver / Builder at this URL and pass standard capabilities as usual. The x is a placeholder username: the URL format needs one and some clients reject an empty one, so keep it. Your access key, after the :, is the credential.
If your CI tool won't let you put credentials in a URL, pass the key as testkase:options.accessKey instead.
3. Run your first test
// ChromeOptions sets browserName for you. Swap in EdgeOptions,
// FirefoxOptions or SafariOptions for the other browsers.
ChromeOptions options = new ChromeOptions();
options.setBrowserVersion("latest");
options.setPlatformName("macOS 15");
Map<String, Object> tk = new HashMap<>();
tk.put("build", "smoke-1");
tk.put("name", "my-test");
options.setCapability("testkase:options", tk);
URL hub = new URL("https://x:[email protected]/wd/hub");
RemoteWebDriver driver = new RemoteWebDriver(hub, options);
driver.get("https://example.com");
driver.quit();const { Builder, By } = require("selenium-webdriver");
const hub = "https://x:[email protected]/wd/hub";
const driver = await new Builder()
.usingServer(hub)
.withCapabilities({
browserName: "chrome",
browserVersion: "latest",
platformName: "macOS 15",
"testkase:options": { build: "smoke-1", name: "my-test" },
})
.build();
await driver.get("https://example.com");
await driver.quit();from selenium import webdriver
from selenium.webdriver.common.options import ArgOptions
options = ArgOptions()
options.browser_name = "chrome"
options.browser_version = "latest"
options.platform_name = "macOS 15"
options.set_capability("testkase:options", {"build": "smoke-1", "name": "my-test"})
hub = "https://x:[email protected]/wd/hub"
driver = webdriver.Remote(command_executor=hub, options=options)
driver.get("https://example.com")
driver.quit()Questions
▶Can Selenium drive real phones?
Yes — the same URL takes platformName: "iOS" or "Android". See Automate Mobile.
