A Golden Master-based test framework for Selenium that enables deep visual and functional regression testing with unbreakable element identification.
recheck-web is a Golden Master-based test framework for Selenium that enables deep visual and functional regression testing for web applications. It captures a complete rendered state of a website as a reference (Golden Master) and semantically compares future runs to detect meaningful changes while ignoring irrelevant differences like shifted pixels or changed element IDs. It solves the problem of brittle Selenium tests that break on minor HTML changes but miss significant visual regressions.
Java developers and QA engineers writing Selenium-based end-to-end tests who need robust regression testing, visual validation, and maintainable test suites. It's particularly valuable for teams practicing continuous integration and delivery (CI/CD) who struggle with flaky or high-maintenance UI tests.
Developers choose recheck-web because it makes Selenium tests nearly unbreakable by using intelligent element matching and Git-like ignore rules, drastically reducing maintenance effort. Its semantic comparison focuses on user-impacting changes, providing more accurate regression detection than pixel-based tools while integrating seamlessly with existing Selenium infrastructure.
recheck for web apps – change comparison tool with local Golden Masters, Git-like ignore syntax and "Unbreakable Selenium" tests.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses virtual retestId and best-match algorithms to identify elements even when HTML attributes like IDs change, preventing brittle Selenium tests as highlighted in the key features.
Performs deep DOM comparison after rendering to focus on user-impacting changes, reducing false positives from minor visual shifts compared to pixel-based tools.
Employs a Git-like .recheck.ignore file to filter volatile changes, simplifying maintenance with familiar syntax and pre-defined filters for positioning or styles.
Works with JUnit 4, JUnit 5, and TestNG via explicit checks or RecheckDriver wrapper, ensuring compatibility with existing Java test setups.
Deep DOM comparisons and optional screenshot creation can slow test execution, with the README admitting screenshot creation is a bottleneck, impacting CI/CD pipeline speed.
Requires managing Golden Master files, ignore rules, and extensions, adding setup effort compared to simple assertion-based Selenium tests.
Limited to Java-based test suites, making it unsuitable for projects using other languages like Python or JavaScript for automation, as noted in its dependencies.