netbrain/Visual Regression Testing

Automated Playwright visual regression with screenshot diffs, smart cropping, and PR comments

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
modeMode: "capture" to take screenshots, "compare" to generate diffs and commentyes
github-tokenGitHub token for API access (required for compare mode)no
playwright-commandCommand to run Playwright tests (capture mode only)nonpm test
working-directoryWorking directory for the action (where package.json is located)no.
screenshot-directoryDirectory where screenshots are saved (relative to working-directory)noscreenshots
artifact-nameName for screenshot artifact (capture mode only)noscreenshots
base-artifactName of base screenshots artifact (compare mode only)noscreenshots-base
pr-artifactName of PR screenshots artifact (compare mode only)noscreenshots-pr
post-commentPost visual diff comment on PR (compare mode only)notrue
diff-thresholdOdiff threshold for pixel differences (0.0-1.0, default 0.1 = 10%)no0.1
crop-paddingVertical padding around diff regions in pixelsno50
crop-min-heightMinimum crop height in pixelsno300
install-depsInstall npm dependencies before running tests (capture mode only)notrue
fail-on-changesFail the action if visual changes are detected (compare mode only)nofalse
r2-account-idCloudflare R2 Account ID (required for compare mode)no""
r2-access-key-idCloudflare R2 Access Key ID (required for compare mode)no""
r2-secret-access-keyCloudflare R2 Secret Access Key (required for compare mode)no""
r2-bucket-nameCloudflare R2 bucket name (required for compare mode)no""
r2-public-urlCloudflare R2 public bucket URL (e.g., https://pub-xxxxx.r2.dev)no""
output-formatOutput format for diff images: "side-by-side" or "animated-gif"noanimated-gif
gif-frame-delayDelay between frames in animated GIF (milliseconds). Only applies when output-format is animated-gif.no750
include-diff-in-outputInclude the diff highlight image in output. When false, animated GIFs show only base → new.nofalse
namedescription
screenshot-countNumber of PNG files found (capture mode)
screenshot-directoryAbsolute path to screenshot directory (capture mode)
has-diffsWhether visual diffs were detected (compare mode)
comment-postedWhether PR comment was posted (compare mode)
diff-images-directoryAbsolute path to directory containing diff images (compare mode)