Lastest includes 12 stabilization features to prevent flaky tests and ensure consistent screenshots across runs and operating systems.
Wait for network activity to settle before capturing screenshots. Prevents capturing pages mid-load.
Wait for DOM mutations to stop before screenshot. Ensures dynamic content has finished rendering.
Replace Date.now() and new Date() with fixed values. Prevents timestamps from causing false positives in visual diffs.
Seed Math.random() for consistent outputs. Any randomized UI elements (avatars, colors, order) will be deterministic.
Block third-party domains with a configurable allowlist. Prevents ads, analytics, and external content from affecting screenshots. Can also mock external images.
Wait for webfonts to load before capture, or disable them entirely. Prevents screenshots with fallback fonts.
Auto-hide spinners and loading states with custom selectors. Add CSS selectors for loading indicators in your app.
Bundled fonts and Chromium flags for identical screenshots across operating systems. Addresses differences between Linux, macOS, and Windows rendering.
Multi-frame instability detection: take N screenshots and compare them for stability before saving. If screenshots aren't consistent, the page hasn't stabilized.
Automatically detect and mask timestamps, UUIDs, and relative times before comparison. No manual ignore region configuration needed for common dynamic patterns.
Detect vertical content shifts (inserted/deleted rows) with fuzzy row matching. Distinguishes between actual changes and simple content insertions/deletions.
OCR-based two-pass comparison with separate thresholds for text vs non-text regions. Reduces false positives from font rendering differences.
All stabilization features are configured in Settings > Stabilization. Each feature can be independently enabled or disabled.