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://screenshotapi.site/api/v1/screenshot \
-H "x-api-key: ${{ secrets.SCREENSHOT_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{"url": "https://staging.myapp.com"}' \
--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
networkidlewait strategy for SPAs - Capture at multiple viewport sizes
- Set
blockAds: trueto avoid flaky ad-related diffs - Use
darkMode: trueto test both themes