Give it a URL and a plain-English user story. It drives a real browser with an LLM, records video, and has a second model independently verify the result.
pip install qaprobe
qaprobe install
qaprobe run --url https://example.com \
--story "Search for 'test' and verify results appear"
✓ Verdict: PASS | a11y: 0 violations | Video: runs/report.html
How it works
Write a plain-English user story. No selectors, no test IDs, no code.
QAProbe drives a real Chromium browser using the accessibility tree. Every action is recorded.
A second, independent model reviews the result. Three-way verdict: PASS, FAIL, or INCONCLUSIVE.
Features
Playwright-powered Chromium. Video recording and trace on every run.
Uses the AX tree, not CSS selectors. Free a11y audit on every run.
Two-model architecture: one acts, another verifies. No self-reported results.
No code, no selectors. Describe what a user would do.
GitHub Action included. YAML suites for organized test runs.
MIT licensed. Run it yourself, extend it, contribute.
Quick start
$ pip install qaprobe
$ qaprobe install
$ qaprobe run --url https://example.com \
--story "Search for 'test' and verify results appear"
Requires Python 3.11+ and an Anthropic API key.
Read the full docs on GitHub