At a glance
Selenium has no pricing page. The downloads page lists bindings and the 4.48 release, the Grid docs cover roles and sizing, and GitHub carries the Apache 2.0 license.
- Approach
- AI agent with vision, no selectors
- Writing a test
- Plain-English steps, CLI, MCP, or dashboard
- Native mobile
- iOS simulators + Android emulators
- Public pricing
- Free tier, then $99/mo self-serve
- Pull requests
- GitHub App: run per PR, check + comment
- Approach
- Scripted WebDriver commands with locators
- Writing a test
- Java, Python, C#, Ruby, or JavaScript code
- Native mobile
- None; native apps need Appium, a separate project
- Public pricing
- Free and open source, Apache 2.0 license
- Pull requests
- Your CI job plus a Grid or driver fleet you run
The same test, both ways
The two panels show one guest checkout. The Selenium class needs eleven locators and three explicit waits to finish it. The TesterArmy version is six sentences with no selectors.
1+added: // src/test/java/checkout/GuestCheckoutTest.java2+added: @Test3+added: void guestCanCheckOut() {4+added: WebDriverWait wait =5+added: new WebDriverWait(driver, Duration.ofSeconds(10));6+added:7+added: driver.get(baseUrl + "/products/desk-lamp");8+added: wait.until(ExpectedConditions.elementToBeClickable(9+added: By.id("add-to-cart"))).click();10+added: driver.findElement(By.cssSelector("a[href='/cart']"))11+added: .click();12+added: wait.until(ExpectedConditions.urlContains("/cart"));13+added:14+added: driver.findElement(By.id("checkout")).click();
Where they differ
Selenium executes the WebDriver commands your code sends and reports what each command returned. TesterArmy takes one sentence per step and decides where to click by looking at the page.
Locators and explicit waits
A Selenium test names elements with By.id, XPath, or CSS and wraps them in WebDriverWait. TesterArmy's agent locates each element by looking at the page.
Browsers and Grid you run
Selenium needs a browser, its driver, and a self-hosted Grid to spread runs across machines. TesterArmy runs the browser and the agent in its cloud.
Where native apps run
Selenium drives web browsers only; native apps need Appium, a separate project. TesterArmy runs those steps unchanged in iOS simulators and Android emulators.
What a red run contains
A failed Selenium test returns an exception and stack trace from the runner. TesterArmy marks it failed or blocked and attaches screenshots and video.
Side by side
Selenium's WebDriver protocol is a W3C standard, its bindings cover five languages, and it runs on machines you control. The table shows what owning the suite costs.
- How you startTesterArmyCreate a project with the app URL, type the sentences, press run.SeleniumInstall a binding, let Selenium Manager fetch the driver, and write a test class.
- How tests are writtenTesterArmyYou type act, assert, or login sentences in the dashboard, the CLI, or MCP.SeleniumCode in Java, Python, C#, Ruby, or JavaScript against the WebDriver API.
- How elements are foundTesterArmyThe agent reads the rendered page and chooses the element without a By locator.AdvantageSeleniumBy.id, By.name, CSS, XPath, or link text locators your team writes and updates.
- Browsers and languagesTesterArmyOne cloud browser at four viewport presets, with a US or Europe exit location.SeleniumChrome, Edge, Firefox, and Safari through W3C WebDriver, in five languages.Advantage
- Native mobileTesterArmyThe same sentences run against iOS simulator and Android emulator builds, Flutter included.AdvantageSeleniumWeb browsers only. Native apps go to Appium, a separate project.
- Pull request verdictsTesterArmyA GitHub App run per pull request with a passed, failed, or blocked check.AdvantageSeleniumWhatever your CI job reports after running the suite against a Grid.
- Where runs executeTesterArmyTesterArmy's cloud, or locally through the CLI against a reachable URL.SeleniumYour machines, your Docker containers, or a Grid you host yourself.Advantage
- PricingTesterArmyThe free tier comes first, then Hobby costs $99 monthly for 250 runs.SeleniumFree under Apache 2.0; you pay for machines, Grid upkeep, and engineer time.
Facts checked September 2026. Spotted something out of date? Tell us and it gets fixed.
Pricing
Selenium's license is free, so the cost is Grid machines and the hours spent on locators and waits. TesterArmy charges $99 a month once the free tier is used up.
$99/mo after a free tier
- Free tier: sign up and run against your own app
- Hobby $99/mo: up to 250 test runs included, web and mobile
- Startup $299/mo: up to 1,000 test runs included, 10 concurrent test runs
Free under the Apache 2.0 license
- Apache 2.0 license on the SeleniumHQ/selenium GitHub repository
- Bindings for Java, Python, C#, Ruby, and JavaScript, all at version 4.48.0
- Selenium Server 4.48.0 runs the Grid, with Docker and Kubernetes options on the downloads page
Who should pick which
The Selenium suite keeps running while the longest web flows and any native mobile coverage move to TesterArmy first.
- Pick TesterArmy ifYour suite spends more engineer hours on locators, waits, and Grid upkeep than on new tests.Pick Selenium ifYour tests must run inside an air-gapped network no cloud browser can reach.
- Pick TesterArmy ifYou need iOS and Android coverage without adding Appium and a device farm.Pick Selenium ifYou need a real cross-browser matrix across Chrome, Edge, Firefox, and Safari from one API.
- Pick TesterArmy ifYour product managers and QA should write and read tests without learning a WebDriver binding.Pick Selenium ifYour engineers already own the suite in Java or C# and the $0 license matters most.
Point Claude Code, Cursor, or Codex at the repository with one prompt. It turns each test method into plain-English steps, guided by page object method names, and runs them.
Questions
Run one checkout without a single locator
Take the test class with the most WebDriverWait patches, rewrite it as plain sentences on the free tier, then compare both runs before touching the rest of the suite.