| name | frontend-playwright |
| description | Visual QA gate for frontend code. ALWAYS use before delivering any UI changes - navigate, screenshot, verify console is error-free. Use for: responsive testing across viewports, form/interaction testing, debugging hydration and render issues. Catches visual bugs before users see them. |
Frontend Playwright
Browser automation for visual verification. Self-check UI before delivering.
When to Use
- After creating/modifying components โ verify render
- Before delivering code โ final QA check
- Debugging UI issues โ see actual browser state
- Responsive testing โ check mobile/tablet/desktop
Process
NAVIGATE โ VERIFY โ FIX โ DELIVER
1. Start dev server: npm run dev
2. browser_navigate โ open page
3. browser_take_screenshot โ visual check
4. browser_console_messages { onlyErrors: true } โ MUST BE EMPTY
5. Fix issues if any โ repeat
6. Deliver when clean
Tools Quick Reference
Navigation:
browser_navigate: { url: "http://localhost:3000" }
browser_resize: { width: 375, height: 812 }
browser_wait_for: { time: 2 } | { text: "Success" }
browser_close: {}
Inspection:
browser_snapshot:
browser_take_screenshot: { filename: "check.png", fullPage: true }
browser_console_messages: { onlyErrors: true }
browser_network_requests: {}
browser_evaluate: { function: "() => ..." }
Interaction:
browser_click: { element: "Submit button", ref: "e5" }
browser_type: { element: "Email input", ref: "e3", text: "user@example.com" }
browser_hover: { element: "Menu item", ref: "e8" }
Pre-Delivery Checklist
MUST PASS before delivery:
โ browser_take_screenshot โ looks correct
โ browser_console_messages { onlyErrors: true } โ EMPTY
โ browser_network_requests โ no 4xx/5xx
โ Mobile viewport (375px) works
Common Workflows
Quick Verification
browser_navigate โ browser_take_screenshot โ browser_console_messages { onlyErrors: true }
Responsive Test
browser_resize { width: 375, height: 812 } โ screenshot
browser_resize { width: 768, height: 1024 } โ screenshot
browser_resize { width: 1440, height: 900 } โ screenshot
Form Test
browser_snapshot
browser_type { ref, text }
browser_click { ref }
browser_wait_for { text }
browser_console_messages
Common Console Errors
"Hydration mismatch":
โ Server/client render different
โ Fix: 'use client', useEffect for browser-only code
"Cannot read property of undefined":
โ Data not loaded
โ Fix: optional chaining, loading states
"Failed to fetch":
โ API error
โ Check: browser_network_requests for details
Viewport Sizes
Mobile: { width: 375, height: 812 }
Tablet: { width: 768, height: 1024 }
Laptop: { width: 1366, height: 768 }
Desktop: { width: 1440, height: 900 }
Full HD: { width: 1920, height: 1080 }
References
- tools.md โ Full MCP tools documentation with all parameters
- workflows.md โ Ready-to-use verification scenarios