Awesome Visual
Regression Testing 
Curated list of awesome visual regression testing resources.
Regression testing is a type of software testing which verifies that
software which was previously developed and tested still performs the
same way after it was changed or interfaced with other software. The
purpose of regression testing is to ensure that changes to the software
have not introduced new faults.
Foreword
This is intended to be an incomplete list of resources about
visual regression testing. It is not tailored to a specific area or role
(Developer/QA/UX-Designer). Note that this is for all areas of
regression software testing after the code in question is
written. For a awesome list on general software testing see e.g. awesome-testing.
Finally, I’m sure everyone who reads this list has one thing they
want to add. Please read the How to
Contribute page and Feel free to add to the list!!.
If you think this is helpful Please give a Star ⭐️.
Contents
Browser automation
- Selenium -
Browser automation framework and ecosystem.
- SlimerJS -
Scriptable browser like PhantomJS, based on Firefox.
- Webdriver.io -
Node.js bindings implementation for the W3C WebDriver protocol.
- Cypress.io - An automation
framework that runs in-browser.
- OSnap - The
speedy and easy to use Snapshot Testing tool for your project (1200
snapshots will run in under 3 minutes).
- basset - Open source platform for
generating and reviewing visual differences. Supports multiple browsers,
integrations for github and slack.
- AyeSpy - 44 image
comparisons in 90 seconds.
- Wraith - Easy to
use ruby tool with docker support.
- BackstopJS -
Config-driven automated screenshot test framework.
- Galen - Java
framework based on Selenium.
- Creevey -
Cross-browser visual testing with magic. Feature-rich tool with UI
Runner, Tests Hot Reloading, Docker and Storybook integration.
- CSSCritic -
Lightweight CSS regression testing.
- Spectre -
Provides image comparison capabilities and an admin interface for
managing screenshots.
- Shoov - UI regression
and functional testing focused on Drupal 7 sites.
- qd_screenshottests
- CasperJS-based UI regression and functional testing focused on Drupal
8 sites.
- Look-alike -
Chrome Extension for taking and comparing screenshots.
- Hardy -
Selenium-driven, cucumber-powered CSS testing.
- TestCafe -
Automated browser testing for the modern web development stack.
- Needle -
Needle is a tool for testing visuals with Selenium and nose
(Python).
- gatling -
Integrated visual RSpec matcher which makes real visual testing easy
(Ruby).
- grunt-photobox
- Plugin to prevent your project of broken layout via screenshot photo
sessions of your site.
- vrtest -
JavaScript library for running visual regression tests on your
components cross browser via selenium.
- Happo - Visual
diffing in CI for user interfaces.
- reg-cli - Visual
regression test tool which output easy-to-read single file html
report.
- Nightmare -
High-level browser automation library based on Electron.
- Puppeteer -
Headless Google Chrome Node API.
- Playwright -
Node library to automate Chromium, Firefox and WebKit with a single
API.
- reg-suit - Visual
regression testing suite which compares images, stores snapshots, and
notifies the difference to your GitHub repo.
- Chimp - Develop
acceptance tests & end-to-end tests with realtime feedback.
- Differencify - A
library for visual regression testing using Puppeteer.
- ResembleJS -
Analyse and compare images with Javascript and HTML5.
- Muppeteer -
Visual regression testing framework for Chrome using Mocha and Puppeteer.
- ember-visual-test
- Simple visual regression testing for Ember.
- AET - Scalable
testing tool providing visual regression testing, accessibility and
performance validation, markup analysis and more.
- Wendigo -
Test-oriented browser automation library based on Puppeteer.
- Loki - Visual
regression testing for Storybook using Chrome in docker et al.
- Zombie.js - Insanely fast,
headless full-stack testing using Node.js.
- CodeceptJS
- Modern Era Acceptance Testing Framework for NodeJS.
- FuncUnit - A
functional test suite based on jQuery
- Nightwatch
- Automated testing and continuous integration framework based on
Node.js and using the Webdriver protocol.
- Protractor - E2E
test framework for Angular apps.
- jest-puppeteer-react
- Visual regression testing with Jest and puppeteer for React
components
- jest-image-snapshot
- Jest matcher that performs image comparisons using pixelmatch
- test-crawler -
Visual regression testing, by crawling a website and providing snapshot
comparison reports.
- wdio-visual-regression
- Visual regression tool for webdriver.io
- Selenide -
Framework powered by Selenium WebDriver for writing easy-to-read and
easy-to-maintain automated tests in Java.
- Karma
- A test runner by the AngularJS team, that fits all our needs.
- Touca - Open
source continuous regression testing without the hassle of managing
snapshot files.
- Lost Pixel -
Holistic visual regression testing for full pages, components (via
Storybook and Ladle integration), and custom shots (e.g. via
Cypress).
Online services
- BrowserStack - Free for
Open Source. Supports Selenium
Webdriver.
- BugBug.io - Lightweight test
automation tool for web applications. Easy to learn and doesn’t require
coding. It’s free, with unlimited tests. For an additional monthly fee,
you also get cloud monitoring and CI/CD integration.
- HeadSpin - HeadSpin’s
Regression testing gives you a powerful comparison tool for analysing
degradation across new app builds, OS releases, feature additions,
locations, and more.
- TestGrid - Perform End to End
test automation be it cross browser testing, mobile app testing,
performance testing or API testing on cloud or on-premise.
- LambdaTest - Perform
Automated and Live Interactive Cross Browser Testing on 2000+ Real
Browsers and Operating Systems Online.
- screener.io - For React, looks
open source.
- applitools - Cloud base visual
tests.
- percy.io - Continuous visual reviews
for web apps.
- screenster.io - Cloud based
automation testing platform for web and mobile UI.
- browserling - LIVE
interactive cross-browser testing.
- Browser Shots - Screenshots
only.
- Ghost Inspector - See introduction
video.
- CrossBrowserTesting -
Manual & exploratory testing on 1500+ real browsers and mobile
devices.
- Argos-CI - Automate visual
regression testing.
- Diffy - Cloud based visual
regression tool. Uses puppeteer and proprietary comparison algorithm
(detect layout shifts). Great scalability with AWS Lambda.
- Chromatic - Visual testing
and UI review for component libraries. Cloud-based. Video
- VisWiz.io - Flexible visual
regression testing service.
- Happo - Cloud-based screenshot
testing service with support for multiple browsers.
- Visual Knight - Cloud-based
visual testing platform with realtime results for testing tools.
- Axcept - Testing for the whole team.
Up to 100 tests in parallel. Endpoint Mocking. Code Coverage.
- Fluxguard - Screenshot pixel and
DOM change comparisons and regressions.
- Vidiff - Cloud-based visual
regression testing across stages.
- Reflect - Visual regression
testing and test automation tool.
- Visual
Regression Tracker - Open Source selfhosted service for visual
regression testing
- Micoo - Open source
service for all UI application visual regression solution
- TestingBot - Provides +3600
browsers to run automated visual tests. Free for Open Source.
- Preflight - Easiest Visual
regression testing and Automated Web Testing tool. (Limited) free
use.
- Preflight: Cypress
Recorder - Create AI-powered Cypress Tests/POM models in your
browser and automate Email & Visual testing for Cypress.
- Meticulous.ai - Easily create
frontend tests without writing code. Use Meticulous to record workflows
on your web app. You can then replay those flows on new frontend code,
and create a test by diffing two replays.
- testRigor - E2E functional test
automation tool for web, mobile, and desktop tests.
- VRTs -
Visual Regression Tests – WordPress plugin auto-updating screenshots
on content updates, preventing false positives.
- Testomat.io
Reporter - Allows to collect tests to a Test Case Management System
(TCMS) like testomat.io and sync manual and automated tests in one
place.
Blog posts
- Kevin
Lamping: The 5 best visual regression testing tools - Compares:
Wraith, PhantomCSS, Gemini, WebdriverCSS and Spectre.
- Garris
Shipon: Visual Regression Testing For Angular Applications -
Tutorial using BackstopJS.
- Angela
Riggs: Visual Regression Testing with BackstopJS - Tutorial using
BackstopJS.
- Garris
Shipon: Automating CSS Regression Testing - Tutorial using
BackstopJS.
- Phillip
Gourley: Making visual regression useful - Why you should use
BackstopJS.
- Pavels
Jelisejevs: Visual Regression Testing with PhantomCSS - Introduction
to PhantomCSS.
- Chromeless,
Chrominator, Chromy, Navalia, Lambdium, GhostJS, AutoGCD - Headless
Chrome is shaking up traditional approaches to test automation.
- Visual
regression testing using Jest, Chromeless and AWS Lambda - Tutorial
using Chromeless and jest-image-snapshot.
- Make
visual regression testing easier - Introduction to Differencify and
how to use it.
- Visual
Regression Testing with Puppeteer & Jest - Tutorial to setup
visual testing with Puppeteer, Jest and VisWiz.io.
- Keeping
a React Design System consistent: using visual regression testing to
save time and headaches - Using percy, and jest puppeteer to
visually test a React component library.
- Visual
Regression Test with WebdriverIO & WebdriverCSS - Tutorial using
WebdriverIO and WebdriverCSS with Spec Reporter
- Automated
screenshot comparison tests with headless Chrome, Puppeteer and
Pixelmatch, in Bitbucket pipeline
- Automatic
visual diffing with Puppeteer
- theheadless.dev - Blog with
practical guides and runnable examples on Playwright and Puppeteer.
- Visual
regression testing for Hugo with Github-CI and BackstopJS - How to
automate regression testing for Hugo with BackstopJS
- UI
Visual Regression Testing with Micoo - Introduction about how to do
visual regression testing with Micoo service
- Poor
man’s visual regression testing - Improved manual visual regression
testing with the PerfectPixel chrome plugin.
- Everything
you need to know about Visual Regression Testing in 2022 - Intro to
visual regression testing with tools updated as of 2022.
Slideshows, talks and videos
Deprecated
The following projects are no longer maintained actively but are
still worth mentioning because of their user base.
- PhantomJS -
Scriptable Headless WebKit. No longer maintained since 2 June 2018.
- PhantomCSS -
Visual/CSS regression testing with PhantomJS or SlimerJS. No longer
maintained since 22 Dec 2017.
- PhantomFlow -
Experimental approach to UI testing, based on Decision Trees.
- DalekJS - Automated
cross browser testing with JavaScript. No longer maintained since 4 Jun
2017.
- dpxdt - End-to-end
testing with Python.
- Visual Review -
A human-friendly tool for testing and reviewing visual regressions.
- Huxley -
Python framework based on Selenium
Webdriver.
- WebdriverCSS -
WebdriverCSS sits on top of Webdriver.io and
hooks into Selenium.
- Gemini -
Feature rich framework with support for Selenium and CasperJS. Gemini is
deprecated, use hermione instead.
- OcularJS -
uses PhantomJS.
- trifleJS -
Headless automation for Internet Explorer. (last update 2016)
- CasperJS -
Navigation scripting and testing utility for PhantomJS and SlimerJS.
(archived 2018)
- Navalia -
Browser Automation based on headless Chrome and GraphQL. (archived
2018)
- Chromeless -
Chrome automation made simple. Runs locally or headless on AWS Lambda.
(archived 2018)
Miscellaneous
Contributing
See the Contribution Guide for
details on how to contribute.
Code of Conduct
See the Code of Conduct for
details. Basically it comes down to: > In the interest of fostering
an open and welcoming environment, we as contributors and maintainers
pledge to making participation in our project and our community a
harassment-free experience for everyone, regardless of age, body size,
disability, ethnicity, gender identity and expression, level of
experience, nationality, personal appearance, race, religion, or sexual
identity and orientation.
License

This work is licensed under a Creative Commons
Attribution-ShareAlike 4.0 International License. License holders
are all
contributors.