Regressions hide in user flows, not units
Unit tests pass while checkout breaks. Prowl QA validates real user journeys across routes, forms, and state transitions so regressions surface before users hit them.
Deterministic Web QA
Prowl QA is a CLI-first E2E testing tool that pairs YAML test definitions with Playwright execution. QA engineers and developers get deterministic flow coverage, visual regression detection, and rich debugging artifacts — all from the terminal.
Fast shipping only works when critical user flows are always verified. Prowl QA turns that discipline into a lightweight daily habit.
Unit tests pass while checkout breaks. Prowl QA validates real user journeys across routes, forms, and state transitions so regressions surface before users hit them.
Manual checklists drift as teams ship faster. Prowl QA gives QA engineers and developers a shared, automated path to verify critical flows on every commit.
Teams adopting E2E testing need a low-friction starting point. Readable YAML hunts and a single CLI command make it practical to add flow coverage from day one.
Go from install to your first useful test in under five minutes.
Step 01
Install the CLI globally and bootstrap your first hunt in one command.
$ npm install -g prowlqa
$ prowlqa initStep 02
Capture login, onboarding, checkout, and other critical journeys with human-readable steps.
name: checkout-flow
steps:
- navigate: "/cart"
- click: "Checkout"Step 03
Execute hunts from terminal, then wire the same commands into your pull request pipeline.
$ prowlqa run critical-flows --jsonStep 04
Use screenshots, traces, and logs to resolve issues quickly without reproducing flaky states manually.
PASS critical-flows
artifacts: ./prowl-artifacts/latestname: login-flowsteps: - navigate: "/login" - fill: "Email": "{{TEST_EMAIL}}" - fill: "Password": "{{TEST_PASSWORD}}" - click: "Sign In" - assert: visible: "Dashboard" ● Running hunt: login-flow ✓ navigate "/login" (120ms) ✓ fill "Email" (85ms) ✓ fill "Password" (62ms) ✓ click "Sign In" (340ms) ✓ assert visible "Dashboard" (15ms) PASS login-flow (622ms) 5/5 stepsAI agents can analyze pages, generate hunts, and execute tests through the CLI — deterministic results, structured output, no browser reasoning required.
login.hunt.yaml
name: login
steps:
- navigate: "/login"
- fill: "Email" "{{TEST_EMAIL}}"
- fill: "Password" "{{TEST_PASSWORD}}"
- click: "Sign in"
- assert: visible "Dashboard"terminal output
$ prowlqa analyze https://app.com/login --json
| prowlqa generate --intent "test login" --stdout
$ prowlqa run login --json
PASS login (622ms) 5/5 steps
exitCode: 0prowlqa analyze <url> --json extracts interactive elements, selectors, and form structure. Agents get a structured page map without browser interaction.
prowlqa generate turns a page analysis and natural language intent into a valid, runnable YAML hunt file.
Every run returns machine-readable JSON with pass/fail, step timings, and artifact paths. Exit codes let agents branch without parsing.
Import prowlqa as a Node module. Run hunts programmatically and get typed results — no shell exec needed.
Write tests in readable YAML. No JavaScript required. 26 step types cover navigation, forms, assertions, conditionals, mocking, and more.
Full Playwright selector engine under the hood. data-testid, ARIA roles, text matching, CSS — use whatever works.
Forbidden selectors, allowed domains, and max step limits prevent tests from going off the rails.
Every run generates screenshots, console logs, network data, and Playwright traces. Debug failures instantly.
Compare screenshots against baselines to catch unintended visual changes. Pixel-level diff images show exactly what shifted.
Intercept API requests and return custom responses. Test error states, loading states, and empty states without touching your backend.
Handle cookie banners, optional modals, and dynamic UI with if/repeat steps. Real-world flows need real-world control flow.
JSON output, JUnit XML reports, structured exit codes, and parallel execution. Plugs into any CI pipeline or AI agent workflow.
Four commands. Zero config files. You're testing in under a minute.
Install the CLI
npm install -g prowlqa
Or with Homebrew:
brew tap prowl-qa/tap && brew install prowlqa
Install browser engine
npx playwright install chromium
Initialize your project
prowlqa init
Run your first hunt
prowlqa run homepage
Answers for teams adopting end-to-end testing as part of daily delivery.
No. Prowl QA is designed for QA, product engineers, and teams new to end-to-end testing who need a simple CLI path to reliable flow coverage.
No. You write hunts in YAML while Prowl QA handles browser automation and artifacts under the hood.
Yes. Prowl QA is built for CI execution with deterministic exit codes and artifact outputs suitable for pipelines and pull requests.
Yes. Prowl QA exposes a structured CLI that agents can drive directly. prowlqa analyze extracts page structure as JSON, prowlqa generate turns that into a runnable hunt from a natural language intent, and prowlqa run --json returns structured results with exit codes. You can also import Prowl QA as a Node library. The CLI works standalone or alongside other agent tools in your stack.
Manual checks miss regressions in large apps. Prowl QA gives repeatable coverage of critical user journeys on every release.
Visual regression compares screenshots against saved baselines to detect unintended visual changes. Prowl QA's assertScreenshot step does pixel-level comparison with a configurable threshold. On first run it saves the baseline automatically. Run prowlqa update-baselines to accept new screenshots as baselines.
Yes. Run prowlqa analyze <url> --json to extract page elements, then pipe the output to prowlqa generate --intent 'describe the test' to produce a valid hunt file. The generated YAML is validated against Prowl's schema before output.
Yes. The mockRoute step intercepts requests matching a URL pattern and returns a custom response — inline JSON or from a file. Use unmockRoute to remove the mock. This lets you test error, loading, and empty states without backend changes.
Start catching regressions today
YAML hunts, Playwright reliability, and rich artifacts — add flow coverage to your workflow without the complexity.
