AI-powered QA verification using Playwright MCP for visual E2E testing...
AI-powered quality assurance using Playwright MCP for browser automation. Tests the Oxmus platform as a real user would.
Playwright MCP must be enabled (already configured in .claude/settings.local.json).
Development server must be running:
/qa-verify "Test admin user creation: login, create user, verify in list"
Verify a specific feature works correctly:
1. Navigate to the feature
2. Perform the happy path
3. Screenshot each major step
4. Test edge cases (empty, invalid, boundary values)
5. Verify database state via UI feedback
6. Report pass/fail with evidence
After code changes, verify nothing broke:
1. Identify affected areas from git diff
2. Navigate to each affected page
3. Verify rendering is correct
4. Test primary user flows
5. Screenshot any anomalies
6. Compare with expected behavior
Free-form testing to discover issues:
1. Start from the main entry point
2. Click around like a curious user
3. Try unexpected inputs
4. Look for UX issues, not just bugs
5. Document all findings with screenshots
## Admin Portal Login
- URL: http://localhost:5001
- Email field: input[name="identity[email]"]
- Password field: input[name="identity[password]"]
- Submit: button[type="submit"]
- Success: redirects to /dashboard
- Failure: shows error flash message
## Create Admin User
- Navigate: /users/new_admin
- Fill form: first_name, last_name, email, password
- Submit and verify flash message
- Check user appears in /users list
## Create Organization
- Navigate: /organizations/new
- Fill: name (auto-generates slug), type
- Submit and verify creation
- Check tenant schema created
For each test, verify:
After testing, generate a report:
# QA Verification Report
**Date**: [timestamp]
**Feature**: [what was tested]
**Server**: http://localhost:5001
## Results
### Test 1: [name]
**Status**: PASS / FAIL
**Steps**:
1. [action] - [result]
2. [action] - [result]
**Screenshot**: [filename or inline]
### Issues Found
1. **[severity]**: [description]
- Steps to reproduce: ...
- Screenshot: ...
## Summary
- Total tests: X
- Passed: X
- Failed: X
- Issues found: X
When testing, watch for:
browser_snapshot for accessibility tree (better than screenshots for form testing)browser_console_messages to check for JavaScript errorsbrowser_take_screenshot for visual evidenceslowly: true for realistic behaviorbrowser_wait_forreferences/test-flows.md for detailed test scenariosreferences/selectors.md for common element selectors