Tools

What users see

UI exploration, accessibility checks, visual diffs and performance budgets.

Every unit test can pass while the page is broken. These tools drive the real interface, check it against accessibility rules, compare screenshots and hold the line on load time. Rule 18 says to put the work in front of the customer, so it pays to look at it first.

End-to-end and UI exploration

  • Start here

    Capybara

    Writes browser tests in Ruby as user actions like click and fill in, on Rack or Selenium.

    The default system-test layer for Rails gives agent-written features a user-level check in the same language.

    Ruby Open source, MIT10k starsSource

  • Start here

    Detox

    Gray-box end-to-end tests for React Native that sync with the app to avoid flaky waits.

    Flaky waits hurt most when a gate runs on every agent change, and syncing with the app cuts them.

    JavaScript/TypeScript, Swift/iOS, Android Open source, MIT12k starsLatest release May 2026Source

  • Start here

    Espresso

    Google's in-process UI test framework for Android that waits for the UI thread to go idle.

    Fast, stable instrumented tests run in CI against emulators for every agent-written Android change.

    Java/JVM, Android Open source, Apache-2.01.2k starsLatest release Jun 2024Source

  • Start here

    Flutter integration_test

    Runs full-app tests of a Flutter app on a device or emulator, written in Dart.

    The built-in path for Flutter UI gates, with widget tests as a cheaper first layer.

    The eBay golden_toolkit package was discontinued. Use flutter_test goldens or alchemist.

    Dart/Flutter Open source, BSD-3-ClausePart of Flutter SDKLatest release Jan 2024Source

  • Start here

    Playwright

    Drives Chromium, Firefox and WebKit from code, with a test runner, tracing and screenshot assertions.

    Most coding agents already use it as their browser layer, and its tests are plain code a machine can rerun.

    Screenshot baselines are OS-specific, so run them in a pinned container.

    Python, JavaScript/TypeScript, Java/JVM, .NET, Web Open source, Apache-2.097k starsLatest release Sep 2026Source

  • Start here

    XCUITest

    Apple's built-in UI testing framework for iOS, macOS and other Apple platforms.

    The native gate for Swift apps, and it runs in Xcode Cloud or on any macOS CI runner.

    Swift/iOS PaidPart of Xcode

  • Android UI/Application Exerciser Monkey

    Sends pseudo-random taps and key events to an Android app to look for crashes.

    A crash smoke test that needs no setup for any Android build in CI.

    Android Open source, Apache-2.0 (AOSP)Part of Android SDK

  • Appium

    Automates native, hybrid and desktop apps through the WebDriver protocol with pluggable drivers.

    One protocol spans many platforms, and agent-based test tools often sit on top of it.

    Swift/iOS, Android Open source, Apache-2.022k starsLatest release Sep 2026Source

  • Cypress

    Runs end-to-end and component tests inside the browser, with time-travel debugging.

    Teams with a large Cypress suite give agents a base of tests to extend and a CI gate to satisfy.

    Cypress Cloud is the paid dashboard.

    JavaScript/TypeScript, Web Open source, paid tier, MIT51k starsLatest release Sep 2026Source

  • Fastbot

    ByteDance's model-based random UI exploration tool for mobile apps.

    It reaches deeper screens in agent-built apps than plain monkey testing does.

    Activity has slowed.

    Swift/iOS, Android Open source, MIT1.2k stars

  • Katalon Studio

    An all-in-one test authoring and execution suite for web, mobile, API and desktop.

    One commercial tool for teams that want non-coders to author the gates, with AI test generation and self-healing.

    Swift/iOS, Android, Web Paid

  • mabl

    A cloud platform for low-code and agent-assisted end-to-end, API and accessibility testing.

    One service covers UI, API and accessibility gates for teams with no in-house test engineers.

    Swift/iOS, Android, Web Paid

  • Maestro

    Runs mobile and web UI flows written as short YAML files, with no driver setup.

    YAML flows are easy for an agent to write and read, and the Maestro MCP lets agents run them directly.

    Maestro Cloud and Studio are paid.

    JavaScript/TypeScript, Swift/iOS, Android, Dart/Flutter, Web Open source, paid tier, Apache-2.016k starsLatest release Sep 2026Source

  • Magnitude

    Open source AI test runner that plans test steps and runs them in a live browser.

    Plain-language tests let an agent state the expected behavior and have it checked on every change.

    JavaScript/TypeScript, Web Open source, Apache-2.06.5k starsLatest release Oct 2026Source

  • Meticulous

    Records real user sessions and replays them against each pull request to catch UI regressions.

    Tests come from actual customer behavior, so nobody has to guess what users do.

    JavaScript/TypeScript, Web Paid

  • Midscene.js

    Vision-driven agent SDK that drives and asserts on web, mobile and desktop UIs with multimodal models.

    It works from screenshots, so canvas, native and desktop surfaces that accessibility trees miss get tested too.

    Swift/iOS, Android, Web Open source, MIT15k starsLatest release Sep 2026Source

  • Momentic

    AI-assisted test platform where tests are written in plain English and heal themselves.

    Plain-language tests keep up with the UI churn that agent-generated changes bring.

    Swift/iOS, Android, Web Paid

  • Patrol

    Extends Flutter tests to reach native UI like permission dialogs and notifications.

    Flutter features that hit native prompts need it, since plain integration_test cannot touch them.

    Swift/iOS, Android, Dart/Flutter Open source, Apache-2.01.4k starsLatest release Sep 2026Source

  • Playwright MCP and Test Agents

    Lets an AI agent drive a real browser through accessibility snapshots, with agents that plan, write and repair tests.

    An agent can explore the running app, write the test and fix it when the UI shifts.

    Web Open source, Apache-2.038k starsLatest release Sep 2026

  • QA Wolf

    A managed service that writes, runs and maintains Playwright end-to-end tests for you.

    A vendor owns coverage and upkeep, so test growth keeps pace with agent velocity.

    Swift/iOS, Android, Web Paid

  • Selenium

    The original browser automation standard, with bindings in most languages.

    Large legacy suites already run on it, and agents can keep extending them in the team's own language.

    Ruby, Python, JavaScript/TypeScript, Java/JVM, .NET, Web Open source, Apache-2.035k starsLatest release Sep 2026Source

  • Stagehand

    An SDK that adds act, observe and extract commands in natural language to Playwright-style browser control.

    An agent drives the UI with plain instructions and recovers when the layout changes.

    Browserbase cloud browsers are paid.

    Python, JavaScript/TypeScript, Go, Web Open source, paid tier, MIT26k starsLatest release Aug 2026Source

  • TestCafe

    A Node.js end-to-end test framework that needs no WebDriver.

    Existing TestCafe suites stay useful as agent gates, though Playwright has taken most new use.

    JavaScript/TypeScript, Web Open source, MIT9.9k starsLatest release Jul 2026Source

  • Testim

    Low-code UI test authoring with AI-based locators that adapt when pages change.

    Self-healing locators cut suite upkeep when agents rework markup.

    Owned by Tricentis.

    Swift/iOS, Android, Web Paid

  • WebdriverIO

    Automates browsers and mobile apps from Node.js using WebDriver and WebDriver BiDi.

    One JavaScript suite covers web and native mobile, and an MCP server is available for agents.

    JavaScript/TypeScript, Swift/iOS, Android, Web Open source, MIT9.8k starsLatest release Oct 2026Source

Accessibility

  • Start here

    axe-core

    The rules engine that finds WCAG violations in rendered HTML.

    Most other accessibility gates run on it, so a failing axe check is a dependable build breaker.

    JavaScript/TypeScript, Web Open source, MPL-2.07.6k starsLatest release Oct 2026Source

  • Start here

    eslint-plugin-jsx-a11y

    Lints JSX for accessibility mistakes like missing alt text and bad ARIA roles.

    It fires at edit time, so an agent hears about the mistake in seconds and needs no browser.

    JavaScript/TypeScript, Web Open source, MIT3.6k starsLatest release Jan 2025

  • @axe-core/playwright

    Runs axe-core inside Playwright tests so accessibility violations fail the test.

    The team gets an accessibility gate inside the end-to-end tests that already run on every agent change.

    JavaScript/TypeScript, Web Open source, MPL-2.0725 starsLatest release Aug 2026

  • Accessibility Insights

    Microsoft's accessibility tools, with automated checks, guided manual tests and a CI scanner.

    Covers the manual checks automation misses, and its CI action can fail a build on agent-written pages.

    Android, Web Open source, MIT955 starsLatest release Sep 2026Source

  • AccessibilitySnapshot

    Snapshots how VoiceOver reads an iOS view and diffs it against a saved reference.

    Accessibility labels on agent-written iOS screens become a diff a reviewer can read.

    Swift/iOS Open source, Apache-2.0746 starsLatest release Sep 2026

  • Deque axe DevTools

    Deque's paid suite for automated and guided accessibility testing on web and mobile.

    Adds mobile coverage, issue tracking and reports on top of free axe-core, plus an MCP server for agents.

    Swift/iOS, Android, Web Paid

  • Evinced

    A commercial accessibility testing platform with SDKs for CI and developer tools.

    Its IDE and agent integrations can flag issues while the code is still being generated.

    Swift/iOS, Android, Web Paid

  • IBM Equal Access Accessibility Checker

    IBM's rule engine and browser extension, with Node and Playwright integrations for CI.

    A second rule set that can catch issues axe misses, usable as its own build gate.

    JavaScript/TypeScript, Web Open source, Apache-2.0780 starsLatest release Sep 2026Source

  • jest-axe / vitest-axe

    Test matchers that run axe against rendered components in unit tests.

    Accessibility errors surface at component level, long before a browser is involved.

    JavaScript/TypeScript, Web Open source, MIT1.1k starsLatest release Jul 2026Source

  • Lighthouse CI

    Runs Lighthouse on each commit and fails the build when category scores such as accessibility drop.

    One threshold covers accessibility, performance and SEO on every pull request.

    Updates are infrequent, so check the repo before relying on it.

    Web Open source, Apache-2.07.1k starsLatest release Jun 2025

  • Pa11y

    A command-line accessibility runner that tests pages with axe or HTML CodeSniffer.

    One CI command exits nonzero on violations, and Pa11y CI scans whole lists of URLs.

    Version 10 is current and needs Node 22.13 or newer.

    Web Open source, LGPL-3.04.6k starsLatest release Aug 2026Source

  • Storybook a11y addon

    Runs axe on every Storybook story, in the UI and in the test runner.

    Every component state gets checked with no extra test files for an agent to write.

    JavaScript/TypeScript, Web Open source, MITPart of StorybookLatest release Sep 2026Source

Visual regression

  • Start here

    Chromatic

    Cloud visual testing from the Storybook team, with a review workflow and turbo snapshots.

    Agent-generated UI changes reach merge with a visual baseline a human has approved.

    JavaScript/TypeScript, Web Paid339 starsLatest release Oct 2026Source

  • Start here

    Roborazzi

    Screenshot testing for Android built on Robolectric, with image diffs and optional AI descriptions.

    It runs on the JVM and supports Compose, so wiring it into every Android pull request is easy.

    Java/JVM, Android Open source, Apache-2.01.1k starsLatest release Sep 2026

  • Start here

    swift-snapshot-testing

    Snapshot assertions for Swift values, including images of views and text dumps.

    SwiftUI and UIKit output gets pinned, so any agent change to it shows up as a diff.

    Swift/iOS Open source, MIT4.4k starsLatest release Sep 2026

  • Applitools Eyes

    AI-based visual comparison that ignores rendering noise and flags real layout changes.

    Fewer false diffs help when agents produce many small UI changes a day.

    Swift/iOS, Android, Web PaidSource

  • Argos

    Open source visual review platform that works with Playwright, Cypress and Storybook.

    A self-hostable option beside Percy and Chromatic, with pull request status checks.

    JavaScript/TypeScript, Web Open source, paid tier, MIT637 starsSource

  • BackstopJS

    Config-driven screenshot comparison across viewports using Puppeteer or Playwright.

    A self-hosted visual gate with no vendor attached.

    The README says the project needs a new maintainer.

    Web Open source, MIT7.2k starsLatest release Jan 2019

  • Happo

    Cross-browser screenshot testing for components and pages, reviewed in pull requests.

    A hosted baseline manager with strong Storybook and Cypress support.

    JavaScript/TypeScript, Web PaidSource

  • Loki

    Visual regression for Storybook on Chrome, iOS simulators and Android emulators.

    React Native stories get covered along with web ones in a single config.

    Updates are infrequent.

    JavaScript/TypeScript, Swift/iOS, Android, Web Open source, MIT1.9k starsLatest release Aug 2024

  • Paparazzi

    Renders Android screens on the JVM with no emulator and compares them to golden images.

    Fast screenshot tests in plain CI, with no device farm.

    Java/JVM, Android Open source, Apache-2.02.6k starsLatest release Sep 2026

  • Percy

    BrowserStack's cloud visual review that snapshots pages across browsers and widths.

    Cross-browser baseline approval lives inside the pull request.

    Swift/iOS, Android, Web Paid88 starsLatest release Sep 2026Source

  • reg-suit

    Compares screenshot sets, stores baselines in cloud storage and posts a report to the pull request.

    It accepts screenshots from any source and keeps baselines out of the repo.

    JavaScript/TypeScript, Web Open source, MIT1.3k starsLatest release Mar 2026

  • Vitest visual regression

    Screenshot assertions in Vitest browser mode for component tests.

    Visual checks run fast, inside the same loop as unit tests.

    JavaScript/TypeScript, Web Open source, MITPart of VitestLatest release Sep 2026Source

Performance budgets

  • Start here

    k6

    Load tests written in JavaScript, with thresholds that fail the run when latency or errors pass a limit.

    Thresholds turn performance into a pass or fail check on every deploy candidate.

    Any language Open source, paid tier, AGPL-3.032k starsLatest release Sep 2026Source

  • Start here

    pytest-benchmark

    Benchmarks Python code inside pytest and compares runs, failing on regressions.

    An easy performance gate for a Python suite. Pair it with CodSpeed for steadier numbers.

    Python Open source, BSD-2-Clause1.5k starsLatest release Aug 2026Source

  • Artillery

    Load tests from YAML, with ensure checks that fail CI on latency or error limits.

    A k6 alternative that also runs Playwright-based browser load tests.

    Any language Open source, paid tier, MPL-2.09.1k starsLatest release Aug 2026Source

  • Bencher

    Tracks benchmark results over time and fails CI on statistical regressions.

    It reads output from many benchmark harnesses and can be self-hosted.

    Any language Open source, paid tier909 starsLatest release Sep 2026Source

  • Benchmark.js / mitata / tinybench

    Micro-benchmark libraries for JavaScript. Vitest bench runs on tinybench.

    They produce the numbers that Bencher or CodSpeed then track for regressions.

    Benchmark.js itself is dormant.

    JavaScript/TypeScript Open source, MIT2.4k starsLatest release Oct 2026

  • bundlewatch

    Checks file sizes against limits and reports the change on each pull request.

    A plain size budget with pull request status checks.

    JavaScript/TypeScript Open source, MIT444 starsLatest release Apr 2026Source

  • CodSpeed

    Runs benchmarks in CI with stable measurements, flame graphs and pull request comments.

    Low-noise numbers and merge protection catch speed regressions that an agent's change introduces.

    Python, JavaScript/TypeScript, Go, Rust, C/C++ Open source, paid tier, Apache-2.0368 starsLatest release Oct 2026Source

  • criterion.rs

    Statistical benchmarking for Rust that compares each run with a saved baseline.

    The common Rust harness, and CodSpeed or Bencher can pick up its results in CI.

    Rust Open source, Apache-2.05.5k stars

  • Gatling

    Load testing framework with assertions that fail a run on slow or failing requests.

    JVM teams get a performance gate in CI from assertions they write in code.

    JavaScript/TypeScript, Java/JVM Open source, paid tier, Apache-2.07k starsLatest release Sep 2026Source

  • github-action-benchmark

    Stores benchmark output from many tools and comments or fails when results regress.

    A free way to wire any benchmark harness into pull request checks.

    Any language Open source, MIT1.3k starsLatest release Sep 2026

  • hyperfine

    Times command-line programs with warmups, statistics and JSON export.

    Any CLI gets a benchmark number that a script can compare between commits.

    Any language Open source, Apache-2.029k starsLatest release Oct 2026

  • iai-callgrind

    Counts instructions with Valgrind so benchmarks stay stable on noisy CI machines.

    Deterministic counts allow tight regression thresholds on shared runners.

    Rust Open source, Apache-2.0329 starsLatest release Sep 2026Source

  • Locust

    Load tests written as Python code, with exit codes driven by failure thresholds.

    Python teams keep load tests in the same language as the app.

    Python Open source, MIT28k starsLatest release Oct 2026Source

  • size-limit

    Fails the build when a JavaScript bundle grows past a limit you set.

    Heavy dependencies that an agent adds without comment show up as a red build.

    JavaScript/TypeScript Open source, MIT7k starsLatest release Sep 2026

  • SpeedCurve

    Synthetic and real-user web performance monitoring with budgets and CI integration.

    Hosted budget tracking for teams that have outgrown Lighthouse CI.

    Now branded SpeedCurve by Embrace.

    Web Paid

  • Web Vitals (web-vitals + CrUX)

    Measures Core Web Vitals in real browsers for budgets and monitoring.

    Real-user numbers check the lab budgets that CI enforces.

    Web Open source, Apache-2.08.6k stars

Gone quiet 4

These tools are archived or shut down, or nobody has released or committed to them in two years. Some still work fine. Read the note before you adopt one.

  • Google Accessibility Test Framework for Android

    Checks Android views for accessibility problems and powers the checks inside Espresso.

    Turns on accessibility checks in Android UI tests you already have.

    Dormant, with no activity since April 2024.

    Android Open source, Apache-2.0521 starsLast change Apr 2024

  • gremlins.js

    A monkey tester that clicks, types and scrolls at random to see whether your web UI crashes.

    Cheap random abuse finds crashes in agent-written screens that no script covered.

    Dormant, with no activity since March 2023.

    JavaScript/TypeScript, Web Open source, MIT9.1k starsLast change Mar 2023

  • Lost Pixel

    Open source visual regression for Storybook, Ladle, Histoire and custom pages.

    Listed as a caution about tools whose teams move on.

    Archived in April 2026 after the team joined Figma and sunset the product.

    Web Open source, MIT1.7k starsLast change Apr 2026

  • Octomind

    Was an AI platform that found, generated and auto-fixed Playwright tests for web apps.

    Listed as a warning: a hosted test service can vanish, and exported tests keep working because they are plain Playwright.

    Shut down in May 2026. Its tests are plain Playwright code.

    Web Open source, MIT (MCP server, CLI)Last change May 2026Source

Missing a tool that belongs here? Suggest it.

Every tool here was checked against its GitHub repository or its own site on 6 October 2026. Stars and dates come from GitHub on that day.