Skip to main content

Selenium gave us browser automation. agent-qa adds intent, self-healing, and memory.

Selenium is the two-decade veteran of programmatic browser control. agent-qa is what the same job looks like now: plain-English tests, adaptive execution, and a harness built for coding agents.

Try agent-qa, the source-available AI QA agent that remembers what a decade of scripts never could.

agent-qa vs Selenium

Capabilityagent-qaSeleniumDetails
Plain-English authoringSelenium tests are code plus locators plus explicit waits. agent-qa tests are natural-language YAML anyone can review.
Survives UI changesXPath and CSS locators are Selenium's most famous failure mode. agent-qa re-plans from intent when the UI shifts and remembers the change.
Execution memoryagent-qa accumulates behavioral memory across runs; Selenium sessions know nothing about the last run.
Source accessSelenium is open source; agent-qa is source available under FSL-1.1-ALv2 and adds an AI harness on top of open foundations.
Local and CI executionBoth run anywhere. agent-qa needs no Grid topology to plan, execute, and report a flow.
Mobile app testingSelenium's ecosystem reaches mobile through Appium as a separate stack. agent-qa covers web and native mobile in one contract.
Coding-agent nativeagent-qa exposes MCP tools, Skills, artifacts, and failure classification designed for autonomous agents; Selenium predates the idea.
Wait/timing managementExplicit and implicit wait tuning is a Selenium discipline of its own. agent-qa's runtime observes actual app state while executing intent.

Why teams retire Selenium suites for agent-qa

Decades of locator debt, gone

Legacy Selenium suites are archaeology: brittle XPath, page objects three refactors behind, waits tuned for servers that no longer exist. agent-qa lets you re-express what those tests were for, in English, and delete the debt instead of servicing it.

The team that can write tests gets bigger

Selenium coverage depends on engineers fluent in the framework. agent-qa tests are plain-English YAML, product engineers, QA specialists, and coding agents all author at the same speed, so coverage stops bottlenecking on framework expertise.

A harness from the agent era

Selenium was designed for humans writing scripts against browsers. agent-qa is designed for a world where coding agents change code continuously and need to verify it themselves, MCP tools, Skills, memory, and evidence built in from the start.

Selenium earned its place in history. agent-qa is what you'd build today: source available, but with intent instead of locators, memory instead of amnesia, and coding agents as first-class operators.

Frequently asked questions

Is agent-qa a good Selenium alternative?

Yes. It's the generational upgrade path. agent-qa replaces locator-based scripts with natural-language tests that self-adapt, remember prior runs, and produce reviewable evidence, while staying source available and repo-owned like the Selenium workflow you're leaving.

What does agent-qa cost compared to Selenium?

Selenium is free and open source. agent-qa is source available under FSL-1.1-ALv2 with no paid tier or license fee for FSL-permitted use. Selenium's hidden cost is the engineering time spent maintaining locators, waits, and Grid infrastructure; agent-qa trades that for LLM token spend under your control, with caching to keep repeat runs cheap.

How do I migrate a large Selenium suite to agent-qa?

Don't port code, harvest intent. Group your Selenium tests by user journey, write each journey as one agent-qa YAML test, and run both in parallel until trust is established. Teams typically find hundreds of scripts collapse into dozens of intent-level tests.

Does agent-qa need Selenium Grid or similar infrastructure?

No. agent-qa runs against local browsers, CI runners, and mobile emulators or devices you already have, there's no hub-and-node topology to operate, and no vendor cloud in the loop.

Can agent-qa test legacy web apps that Selenium currently covers?

Yes. agent-qa drives real browsers, so server-rendered and legacy UIs work the same as SPAs, often better than old Selenium scripts, because intent-based execution doesn't depend on the exact markup those scripts froze in time.

Sources

This page is based on public product and documentation sources. Verify current features and pricing with each vendor before making a purchase decision.

Where agent-qa pulls ahead of Selenium

The parts of agent-qa that answer what Selenium leaves you carrying.

Natural-language tests

Describe actions and assertions in natural language. agent-qa resolves them against the live interface using visible roles, labels, and screen state.

Learn about natural language tests

Natural-language YAML

Write the behavior and expected outcome in plain English. The test stays as reviewable YAML in your repository.

Targets users recognize

Refer to “New issue,” “Checkout,” or the “Issues table.” agent-qa finds the matching control in the live interface.

One format, every surface

Use the same natural-language structure across web, Android, and iOS without maintaining selector-heavy variants.

Execution memory

A run that passes leaves evidence: elements that resolved, a flow that worked, and timings that are real. agent-qa distils that evidence into durable facts, procedures, cautions and measurements. Each becomes a reviewable bundle committed next to your tests. Nothing steers a run until the evidence says it should, and once it does, the next run replays what already works instead of deriving it again.

Learn about memory

Bundles you can review

Each thing learned is a directory in your repository: the record, the evidence behind it, and the artifacts that justify it. Read it in a pull request.

Proven before it is used

New knowledge is born a candidate. Offline replay and attributed evidence from live runs decide whether it ever reaches a planner.

Warm runs get faster

A flow that already worked is replayed rather than re-derived, and stale facts are superseded instead of quietly served.

Web, Android, and iOS

Point the same natural-language flow at a web target, an Android build, or an iOS build. Playwright and Appium are execution kernels here, not code generators: no test script is ever produced. The agent decides on each action from what it can currently see, and the kernel performs it, whether that is a click in Chromium, a tap on a local emulator, or a gesture on a remote device.

Learn about mobile testing

Execution kernels

Playwright and Appium only perform the actions the agent decides on. No test script is generated, and nothing is replayed from a recording.

Three web engines

Run the same flow on Chromium, Firefox, or WebKit, and override the engine, viewport, or headless mode per test.

Native and remote devices

Drive real Android and iOS builds by app package or bundle ID, on a local emulator, a simulator, or a remote device.

Self-healing execution

When a sub-action fails, because the click was intercepted, the control moved, or the field will not take the value, agent-qa re-observes the screen and plans another route to the same step, inside the same run. What it will not do is find another step: a recovery has to reach what you asked for, so a route to a different outcome is declined rather than taken, and the run fails with the reason it found.

Learn about self-healing

Re-observe, then re-plan

A failed sub-action is not retried. The screen is read again and the next attempt is planned against what is actually on it.

Bounded by the step

A recovery has to reach what the step asked for. A route that would reach a different outcome is declined, not taken.

The trace stays honest

Every attempt is recorded: what failed, what was tried, and what was refused. A healed step never reads as a clean one.

* This comparison is based on publicly available information. Product capabilities and pricing can change; verify details with each vendor before making a purchase decision.