Skip to content

Latest commit

 

History

History
134 lines (110 loc) · 11.9 KB

README.md

File metadata and controls

134 lines (110 loc) · 11.9 KB

Awesome Visual Regression Testing Awesome

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. awsome-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

General information

Browser automation

  • Selenium - Browser automation framework and ecosystem.
  • SlimerJS - Scriptable browser like PhantomJS, based on Firefox.
  • trifleJS - Headless automation for Internet Explorer.
  • CasperJS - Navigation scripting and testing utility for PhantomJS and SlimerJS.
  • Webdriver.io - Node.js bindings implementation for the W3C WebDriver protocol.
  • Navalia - Browser Automation based on headless Chrome and GraphQL.
  • Chromeless - Chrome automation made simple. Runs locally or headless on AWS Lambda.
  • Cypress.io - An automation framework that runs in-browser.
  • PhantomJS - Scriptable Headless WebKit.

Tools and frameworks

  • Wraith - Easy to use ruby tool with docker support.
  • BackstopJS - Config-driven automated screenshot test framework.
  • Galen - Java framework based on Selenium.
  • Gemini - Feature rich framework with support for Selenium and CasperJS.
  • Huxlay - Python framework based on Selenium Webdriver.
  • PhantomFlow - Experimental approach to UI testing, based on Decision Trees.
  • 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.
  • OcularJS - uses PhantomJS.
  • WebdriverCSS - WebdriverCSS sits on top of Webdriver.io and hooks into Selenium.
  • 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).
  • dpxdt [Depicted] - End-to-end testing with 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 repot.
  • Nightmare - High-level browser automation library based on Electron.
  • Puppeteer - Headless Google Chrome Node API.
  • Visual Review - A human-friendly tool for testing and reviewing visual regressions.
  • 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.

Online services

Blog posts

Slideshows, talks and videos

Outdated

The following projects are no longer maintained actively but are still worth mentioning because of their user base.

  • PhantomCSS - Visual/CSS regression testing with PhantomJS or SlimerJS. No longer maintained since 22 Dec 2017.
  • DalekJS - Automated cross browser testing with JavaScript. No longer maintained since 4 Jun 2017.

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

CC-BY-SA

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