Run visual regression checks on both your shared integration branch and pull requests, but decide first what each check is meant to prove. A branch-scoped baseline detects changes since the last accepted visual state; a pull-request comparison against the merge base shows what the branch would introduce. Keep rendering conditions consistent, review intentional changes before accepting them, and regularly sync long-running branches with main.
Choose the comparison your team needs
Visual regression tools do not all compare the same images or store approval in the same place. Separate two questions: “Has this branch changed since its accepted visual state?” and “What visual changes does this pull request introduce relative to its base?” One green result does not establish that the other comparison is current.
| Approach | What is compared | Where the baseline or approval lives | Useful when |
|---|---|---|---|
| Playwright native screenshot assertions | The current screenshot against a golden image in the test snapshot directory. | Snapshot files can be committed to Git alongside tests. | You want repository-owned images and control over reviewing baseline updates. Playwright visual comparisons |
| Chromatic UI Tests | A build against the accepted baseline associated with its branch. | Accepted snapshots are associated with branch/build history. | You want branch-scoped regression checks and hosted snapshot review. Chromatic branch baselines |
| Chromatic UI Review | The pull-request head against its merge base. | It generates a changeset; it does not use UI Test baselines. | You want to review the visual changes the pull request would introduce. Chromatic branch baselines |
| Percy Git | A build against a base-branch build selected through Git history. | Approval applies to an entire build. | Build-level approval fits your workflow. Percy baseline management |
| Percy Visual Git | Current snapshots against the latest approved snapshots on each branch. | Snapshots can be approved individually. | You need snapshot-level approval granularity. Percy baseline management |
These models are related, not interchangeable. Use a regression baseline for “what changed since the approved state?” and a merge-base review for “what does this branch add?”
Build a predictable branch workflow
- Choose representative states. Add screenshot assertions for stable, meaningful page and component states. Name snapshots clearly and include the browsers and viewports that matter. Playwright’s
toHaveScreenshot()uses browser and platform context in snapshot naming; browsers and platforms can render differently. See Playwright visual comparisons. - Create and inspect an approved baseline. With Playwright native assertions, the first run creates a missing snapshot. Inspect the image, then commit it with the test. For an intentional visual change, run
npx playwright test --update-snapshots, inspect the changed files, and commit them through normal review. - Run checks on the shared branch and pull requests. Configure CI for pushes to the integration branch and pull requests. Install the matching Playwright browser binaries; retain reports and screenshot artifacts so reviewers can diagnose failures. Playwright documents CI setup and sharding in its continuous integration guide.
- Keep the rendering environment stable. Use the same browser/runtime and OS or container setup for baseline creation and comparison when practical. Pin viewport and control fonts, animation, and dynamic content. Playwright notes: “For consistent screenshots, run tests in the same environment where the baseline screenshots were generated.” Its documentation also identifies host OS, version, settings, hardware, power source, and headless mode as potential rendering differences. See visual comparison guidance.
- Define branch baseline behavior. In Chromatic, each branch has its own accepted baseline. A new branch inherits from its branch point; later accepted changes on main do not automatically rewrite the feature branch’s baseline. Merge or rebase main into long-lived feature branches and rerun checks to reduce stale-baseline diffs. See Chromatic branch and baseline behavior.
- Review before accepting. Treat a detected difference as a prompt to inspect, not as automatic approval. Accept a hosted snapshot or update a committed golden image only after confirming that the UI change is intentional.
- Test main and configure merge handling deliberately. Chromatic recommends maintaining and testing a clean main branch so baselines can persist through branching and merging. Its GitHub Actions guidance documents
autoAcceptChangesfor accepting incoming changes on main in certain squash/rebase workflows, andignoreLastBuildOnBranchwhen the target branch’s latest build should be ignored. Confirm the effect matches your policy before enabling either option. - Preserve Git history in CI. Chromatic uses Git to associate commits with pull requests and baselines; its Playwright integration documentation says Git must be available in CI. Ensure checkout depth and repository metadata provide the history your workflow depends on.
Keep the screenshot inputs under control
A stable test does not mean hiding meaningful changes. Reduce noise in a deliberate way so a genuine layout or styling regression remains visible.
- Fix the viewport, browser, platform, and device scale factor used to create and compare images.
- Wait for fonts and important images to load; disable or mask animations that make captures nondeterministic.
- Use stable test data and hide or mask volatile regions such as timestamps, rotating recommendations, or user-specific details.
- Choose a diff threshold only after reviewing the kinds of changes it will tolerate. A threshold that is too permissive can conceal real regressions.
- Keep baseline updates reviewable: version native Playwright snapshots, or require explicit approval in a hosted tool.
Diagnose common multi-branch failures
A feature branch shows changes already accepted on main
With Chromatic branch-scoped baselines, accepted changes on main do not automatically update existing feature-branch baselines. Merge or rebase main into the feature branch, rerun the build, and review the resulting comparison.
Nearly every screenshot changes in CI
Compare the baseline and CI browser version, operating system, fonts, viewport, headless mode, and other rendering inputs. Playwright warns that host and runtime differences can affect rendered screenshots. Align the environment before accepting broad updates.
The hosted tool selects an unexpected baseline or misses commits
Check that Git is installed and that the checkout contains the history and repository metadata the integration needs. Chromatic relies on Git to associate commits, pull requests, and baselines; a shallow or incomplete checkout can undermine that context. See Chromatic’s Playwright setup.
A pull-request diff contains unexpected base-branch changes
Inspect which commit the CI pull-request event checks out. Some workflows test a synthetic merge commit, and the comparison tool may calculate its diff from that state. Review the event and baseline configuration against the guidance in Chromatic’s GitHub Actions documentation.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteA visual update becomes the new expected result without meaningful review
Separate detection from approval. For Playwright, inspect the diff and changed snapshot files before committing. For hosted tools, require a reviewer to inspect and approve changed snapshots instead of treating every build as an acceptable baseline.
Or skip the browser setup
If you need a clean screenshot for a page without configuring a browser capture workflow, ScreenshotNeo offers a screenshot API and MCP server for developers. Its API takes one GET request; the following cURL example saves a WebP image:
Rank #4
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo documentation for request options. Cookie banners are accepted and removed before capture, along with supported newsletter popups and chat widgets. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed; responses identify the page verdict and billing status in headers. Its MCP server exposes screenshot and page-inspection tools for AI agents. The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 shots.
Sign up for ScreenshotNeo and start with 1,000 free screenshots a month, no card required.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Keep the ownership rule simple
Choose whether your team owns golden images in Git, accepts branch-specific hosted baselines, or reviews PR changes against a merge base. Run checks on main and pull requests, keep the rendering environment stable, sync active branches, and make each baseline update an explicit review decision.
Best Value
Frequently Asked Questions
Should every feature branch have its own visual baseline?
That depends on the tool’s baseline model and the question the check must answer. Branch-scoped baselines are useful for detecting changes since that branch’s accepted state; a merge-base comparison is useful for reviewing what a pull request introduces.
Does a green pull-request comparison prove the branch baseline is current?
No. A comparison against a merge base and a regression comparison against an accepted branch baseline answer different questions.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →




