guide
2026-05-23

Complete Guide to Automated Screenshot Testing in CI/CD

Visual regression testing catches UI bugs before they reach production. Here's how to set it up with ScreenshotAPI.

Why Automated Screenshot Testing?

Manual QA is slow and error-prone. Automated screenshots in your CI pipeline catch layout breaks, font changes, and styling regressions instantly.

GitHub Actions Setup

yaml
name: Visual Regression
on: [pull_request]
jobs:
  screenshots:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Capture Screenshots
        run: |
          curl -X POST https://i.ytimg.com/vi/ytoBh8MZQjU/maxresdefault.jpg \
            -H "x-api-key: ${{ secrets.SCREENSHOT_API_KEY }}" \
            -H "Content-Type: application/json" \
            -d '{"url": "https://i.ytimg.com/vi/IJ7JbBfhYcY/maxresdefault.jpg"}' \
            --output screenshot.png

Comparing Screenshots

Store baseline screenshots in your repo and use tools like pixelmatch to diff them against new captures. ScreenshotAPI's consistent rendering ensures reliable comparisons.

Tips

  • Use networkidle wait strategy for SPAs
  • Capture at multiple viewport sizes
  • Set blockAds: true to avoid flaky ad-related diffs
  • Use darkMode: true to test both themes