SpecterQA
AI personas test your web app in real browsers -- no scripts needed
Overview
SpecterQA is a behavioral testing CLI where AI personas navigate your web app in a real browser, finding bugs and UX issues without a single test script.
Instead of writing brittle selectors and step-by-step test scripts, you define personas in YAML -- their role, technical comfort, goals, frustrations -- and journeys (sequences of goals). SpecterQA launches a real browser, takes screenshots, sends them to Claude's vision models, and the AI decides what to click, type, or scroll. Like a real user would.
The loop is straightforward: Screenshot, AI decides, Playwright executes, repeat. Tests break when the UX actually breaks -- not when your markup changes.
Features
Vision-based navigation
AI sees the UI like a human -- no CSS selectors, no XPath, no DOM traversal.
YAML persona definitions
Define test personas with role, technical comfort, patience, and goals.
Built-in cost control
Per-run budget caps, daily limits, monthly limits. Model routing for cost efficiency.
CI/CD ready
JUnit XML output drops into any pipeline. GitHub Actions example included.
MCP server
Use from Claude Desktop, Cursor, or any MCP-compatible agent platform.
MIT licensed
Fully open source. Use it, fork it, contribute to it.
Quick start
Install from PyPI
$ pip install specterqa Download Playwright browsers
$ specterqa install Scaffold sample config
$ specterqa init Set your API key
$ export ANTHROPIC_API_KEY=sk-ant-... Run the demo journey
$ specterqa run -p demo Cost transparency
Every run costs money (Anthropic API calls). We built cost control directly into the engine so there are no surprises.
| Journey type | Typical cost |
|---|---|
| 3-step smoke test | $0.30 - $0.60 |
| 5-step standard journey | $0.50 - $1.50 |
| 10-step complex journey | $1.00 - $3.00 |
Honest tradeoffs
- Every run costs money — initial assessment and complex actions require the Anthropic API. Budget accordingly.
- Primarily Claude-powered — GPT-4V and Gemini are not supported. Experimental Ollama (llava:13b) support exists for simple navigation but is not the default.
- Playwright-only — no support for Selenium, Puppeteer, or other browser automation backends.
- Vision models can misinterpret UI elements.
- Beta software (v0.4.0). Security-hardened. The API may change.
- Supplements unit/integration tests, doesn't replace them.