AutoUAT Documentation

AutoUAT is a stochastic UAT/UX testing engine. Point it at any URL and it automatically discovers pages, generates test scenarios, executes them in real browsers, and produces structured reports with prioritized issues.

Unlike traditional E2E tools, AutoUAT does not require you to write test scripts. It automatically focuses on the parts of your app most likely to have bugs.

Core Capabilities

Interfaces

Desktop App
GUI Electron app
Command Line
CLI Terminal & CI
MCP Server
MCP 11 tools for AI agents

Quick Start

Get from zero to your first report in under 5 minutes.

GUI Desktop App

Download and install the app, paste a URL into the target field, click Start a Run.

CLI Command Line

# Quick scan with defaults
npm run cli -- run https://example.com

# With options
npm run cli -- run https://example.com --scenarios 30 --depth 5

# Replay a previous run
npm run cli -- replay <runId>

MCP AI Agents

# Zero-config scan from any MCP client
autouat_scan({ url: "https://example.com" })

# Check findings from a run
autouat_findings({ runId: "run-2026-03-09-..." })

How It Works

AutoUAT follows a six-stage pipeline for every run.

1
Discovery Crawls your site, follows links, detects forms, identifies auth walls, builds a route graph. For SPAs, uses click-and-detect.
2
Scenario Generation Uses adaptive Thompson sampling to prioritize high-yield areas across role, viewport, and flow combinations.
3
Browser Execution Runs scenarios across Chromium, Firefox, WebKit, and Electron simultaneously via Playwright with screenshots at every step.
4
Heuristic Evaluation 12+ deterministic evaluators check console errors, network failures, layout overflow, accessibility (axe-core), and performance (LCP/CLS).
5
LLM Critic Panel 3-persona panel reviews each finding. A 2-of-3 consensus is required before an issue is surfaced.
6
Triage & Reporting Deduplicates, severity-ranks, and generates an interactive HTML report with all artifacts.

Run Setup

The Run Setup screen is where every test begins. Enter a URL, tune parameters, and launch.

Target URL vs Project Folder

URL-only gives a quick scan with no memory. Adding a project folder means triage decisions, regressions, and trends carry forward across runs.

Discovery vs Config Mode

Discovery auto-crawls the site. Config mode uses a JSON file for precise control over which paths and scenarios run.

Cost Estimate Card

Shows projected pages, scenarios, execution time, and LLM cost before the run begins. No surprises.

Probe Button

Crawls up to 8 pages to detect auth walls, forms, and routes before committing to a full run. Run this first on unknown targets.

Reports

Every run produces multiple report formats to suit different workflows.

Review Studio (Interactive HTML)

The primary report. Screenshot overlays, element inspection, findings panel, and critic panel are all included. State persists in localStorage between sessions.

Standalone Export

A single self-contained HTML file you can email or share - no server required.

Markdown / LLM Export

Two variants:

JSON Artifacts

Machine-readable findings for programmatic consumption, CI assertion, or integration with other tooling.

CI/CD Integration

AutoUAT integrates into any CI/CD pipeline via the CLI as a release gate. Use --release-gate to apply stricter thresholds and --exit-code to return a non-zero exit code when the gate fails.

GitHub Actions

name: AutoUAT Release Gate
on: [push]
jobs:
  quality-gate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npx playwright install chromium
      - run: npx autouat run --release-gate --baseUrl $STAGING_URL --exit-code

Generic CLI

npx autouat run \
  --release-gate \
  --baseUrl https://staging.example.com \
  --max-scenarios 30 \
  --exit-code
The CLI exits with code 0 on pass and 1 on gate failure, making it compatible with any CI system that checks exit codes.

Quality Gates

Quality gates are pass/fail policies that decide whether a build is safe to release.

Threshold Default Description
Max new critical issues 0 Maximum new critical-severity findings allowed. Set to 0 for zero-tolerance.
Max unresolved regressions 0 Maximum issues that reappeared after being marked resolved. Set to 0 for strict enforcement.
Min pass rate 0.8 Minimum fraction of scenarios that must pass (80% by default).

Policy File

Commit thresholds to your repo at .autouat/policy.json:

{
  "maxNewCritical": 0,
  "maxUnresolvedRegressions": 0,
  "minPassRate": 0.8
}

Suppression Rules

Auto-dismiss known noise with .autouat/suppressions.json. Useful for third-party iframes, known flaky paths, or accepted issues.

Troubleshooting

Credentials & API Keys

Missing API key

LLM critic requires an API key. Go to Settings → General, select your provider, and paste the key. Keys are stored encrypted via Electron safeStorage.

Auth walls detected

Configure login profiles in Settings → Logins. Walk through the wizard with your login URL and credentials. AutoUAT will replay the login flow before each authenticated scenario.

Network & Connectivity

Navigation timeout

Check that the site is running on the correct port with the right protocol (HTTP vs HTTPS). Also check for firewall/VPN interference and self-signed certificate errors.

Common dev ports: 3000 (Next.js), 5173 (Vite), 8080 (general).

Discovery & SPAs

SPA not discovering routes

Enable SPA Navigation in Settings → Discovery. Add seed paths for key routes. Increase the crawl depth. Run Probe first to verify what the crawler sees before the full run.

If discovery still misses routes, add them explicitly as seed paths in Config mode. This is common for hash-based routers (#/route) and client-side-only redirects.