QA Testing¶
Use VoiceLayer with Playwright for hands-free website testing. The agent browses pages, asks you what you see, and captures your observations in structured checklists.
How It Works¶
- Agent navigates to a page using Playwright MCP
- Agent asks voice questions: "How does the hero section look?"
- You speak your observations: "The image is stretched on mobile"
- Agent logs findings using think mode (silent notes)
- At the end, a structured markdown report is generated
Typical Session Flow¶
Agent: qa_voice_announce("Starting QA session for the checkout page")
Agent: [navigates to /checkout with Playwright]
Agent: qa_voice_converse("How does the form layout look?")
User: "The credit card fields are misaligned, the expiry date wraps to a second line"
Agent: qa_voice_think({ thought: "CC fields misaligned, expiry wraps", category: "red-flag" })
Agent: qa_voice_converse("What about the submit button?")
User: "Looks good, centered, correct color"
Agent: qa_voice_think({ thought: "Submit button: PASS", category: "checklist-update" })
Agent: qa_voice_brief("Session complete. Found 1 issue: credit card field alignment on the checkout form.")
QA Categories¶
VoiceLayer includes predefined QA schemas covering 6 categories and 31 checks:
| Category | Checks | Examples |
|---|---|---|
| Layout | Responsive, alignment, spacing | Grid breaks, overflow, z-index |
| Navigation | Links, menus, breadcrumbs | Dead links, mobile nav, active states |
| Forms | Validation, labels, errors | Required fields, error messages, tab order |
| Content | Text, images, media | Typos, alt text, broken images |
| Performance | Load time, animations | Slow renders, janky scrolling |
| Accessibility | Contrast, screen readers, focus | Color contrast, ARIA labels, keyboard nav |
Report Generation¶
After a QA session, findings are compiled into a structured markdown report:
# QA Report: Checkout Page
Date: 2026-02-21
URL: https://example.com/checkout
## Issues Found
### HIGH: Credit card field alignment
- **Category:** Layout
- **Details:** Expiry date field wraps to second line on viewport < 768px
- **Suggested fix:** Reduce input width or stack vertically on mobile
## Passed Checks
- Submit button: centered, correct color
- Form labels: all present and clear
Reports are saved to ~/.voicelayer/reports/ by default.
Agent Configuration¶
To use QA testing, your Claude Code session needs both VoiceLayer and Playwright MCP servers:
{
"mcpServers": {
"qa-voice": {
"command": "bun",
"args": ["run", "/path/to/voicelayer/src/mcp-server.ts"]
},
"playwright": {
"command": "npx",
"args": ["@anthropic-ai/mcp-playwright"]
}
}
}
Tips¶
- Use think mode liberally — silent notes don't interrupt the testing flow
- Start with announce — give context before diving into questions
- End with brief — summarize findings so the user has a verbal recap
- Keep questions specific — "How does the form look?" works better than "Any issues?"