Dev.to
7/17/2026

My AI QA agent said "all features working." The canvas was blank. Here's what it was actually seeing.
Short summary
An AI QA agent using Claude + Chrome MCP kept passing canvas/animation features that were actually blank because hidden browser tabs stop requestAnimationFrame entirely and throttle timers. The fix: open tabs with active:true, screenshot after interaction, and require behavior checks for every dynamic feature found via code grep. This approach cut false positives dramatically in production QA across a fleet of web tools.
- •Hidden browser tabs stop rAF completely (0 frames) and throttle setInterval/setTimeout, causing AI QA agents to falsely pass dynamic features
- •Fix: use visible tabs, screenshot after interaction, and grep code for dynamic features requiring behavior verification
- •Behavior-coverage table ensures features like canvas, file upload, downloads, and animations are visually confirmed, not just code-path checked
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



