awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
garris avatar

garris/BackstopJS

0
View on GitHub↗
7,156 stars·619 forks·JavaScript·MIT·5 viewsbackstopjs.org↗

BackstopJS

BackstopJS is an automated screenshot testing framework and visual regression testing tool designed to identify pixel-level discrepancies between different versions of a web application. It functions as a browser automation testing suite that captures visual snapshots of a user interface and compares them against stored reference images to detect unintended changes.

The project utilizes a containerized testing environment via Docker to ensure consistent browser rendering and prevent cross-platform visual discrepancies. It includes a web UI diffing interface that allows users to analyze visual differences and approve updated reference screenshots through an interactive dashboard.

The framework provides capabilities for browser interaction automation, including the ability to simulate user sequences, prepare page states, and control capture timing. It supports targeted capturing of specific DOM elements, CSS selector-based element masking to avoid false positives, and configurable pixel mismatch thresholds to determine test failures.

The tool generates static HTML reports and exports results into formats suitable for integration with continuous integration build systems.

Features

  • Pixel-Level Image Comparison - Identifies pixel-level discrepancies between different versions of a web application by analyzing raster image differences.
  • Screenshot Comparison - Implements a system for creating, storing, and approving baseline images to serve as the source of truth for visual comparisons.
  • Isolated Execution Environments - Ensures consistent browser rendering across different machines by wrapping the test execution runtime in isolated Docker containers.
  • Containerized Rendering - Provides a containerized rendering environment to ensure font and browser consistency across different platforms.
  • Baseline Image Storage - Stores and manages approved baseline images to serve as the source of truth for all future visual comparisons.
  • Visual Testing - Utilizes a containerized setup to execute visual tests that compare rendered output against expected designs.
  • Automated Screenshot Testing Frameworks - Provides a complete framework for capturing browser states and identifying pixel-level discrepancies between web application versions.
  • Visual Consistency Testing - Verifies the visual consistency of web interfaces across different browser versions and environments using automated scripts.
  • User Interaction Simulation - Simulates sequences of human inputs like clicks, hovers, and key presses to reach specific application states before capture.
  • Browser Interaction Automation - Provides programmatic control of browser elements to manipulate web content and prepare the UI before capturing screenshots.
  • Browser Automation Testing - Uses browser automation protocols to simulate user interactions and prepare page states for visual snapshots.
  • Visual Regression Testing - Detects unintended UI changes by automatically comparing current screenshots against established reference images.
  • DOM Element PNG Captures - Enables targeted image capture of specific DOM elements via CSS selectors, the viewport, or the entire page.
  • Headless Browser Orchestrators - Manages and controls headless browser instances to navigate pages and execute JavaScript before capturing screenshots.
  • Portable HTML Reports - Generates standalone HTML reports containing test results and image diffs for manual review and approval.
  • Browser Compatibility Verification - Ensures consistent website rendering across different browsers by comparing screenshots captured in a controlled Docker environment.
  • Continuous Integration Checks - Integrates automated visual regression checks into CI pipelines to prevent UI regressions from reaching production.
  • Visual Difference Viewers - Provides an interactive viewer for inspecting pixel-level mismatches between reference and test images.
  • Sensitivity Configurations - Provides configurable pixel mismatch thresholds and dimension requirements to control when visual differences trigger test failures.
  • Capture Timing Controls - Provides the ability to delay screenshots until specific elements appear, console events trigger, or time intervals expire.
  • Visual Snapshot Comparisons - Compares visual snapshots across different environments to identify rendering discrepancies and ensure visual correctness.
  • State Preparation - Allows the browser environment to be prepared via cookie imports and custom JavaScript before test scenarios execute.
  • Element Masking - Provides the ability to hide dynamic page elements using CSS selectors to avoid false positive visual regression failures.
  • UI Element Hiding - Allows hiding or removing dynamic page elements to prevent volatile content from triggering false positive test failures.
  • State Manipulation - Executes custom interaction sequences and scripts to put the browser in a specific state before taking screenshots.
  • Diffing Interfaces - Includes an interactive web dashboard for analyzing visual differences and approving updated reference screenshots.
  • Testing Frameworks - Config-driven automated screenshot test framework.

Star history

Star history chart for garris/backstopjsStar history chart for garris/backstopjs

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to BackstopJS

Similar open-source projects, ranked by how many features they share with BackstopJS.
  • americanexpress/jest-image-snapshotamericanexpress avatar

    americanexpress/jest-image-snapshot

    3,913View on GitHub↗

    jest-image-snapshot is a Node.js image testing library and visual comparison engine designed for visual regression testing within Jest. It provides a custom matcher to compare current images against baseline snapshots to identify pixel differences. The tool generates image diffs that highlight specific divergences between baseline and received snapshots. It includes mechanisms to update baseline images when changes are approved and allows for sensitivity tuning via pixel count, percentage thresholds, or blur to ignore noise. The library covers image snapshot management, including custom stor

    JavaScript
    View on GitHub↗3,913
  • facebookarchive/huxleyF

    facebookarchive/huxley

    4,040View on GitHub↗

    Huxley is a visual regression testing tool and browser automation framework designed to detect pixel-level interface changes. It functions as an automated browser screenshotter that records user interactions and replays them to verify that web interfaces remain visually consistent across updates. The system generates visual diffs by comparing current screenshots against stored baseline images to highlight specific pixels that have changed. It includes mechanisms to manage these baselines, allowing users to update reference screenshots when interface changes are intentional. The framework cov

    Python
    View on GitHub↗4,040
  • karatelabs/karatekaratelabs avatar

    karatelabs/karate

    8,882View on GitHub↗

    Karate is a Gherkin API testing framework and JVM test orchestrator designed for API validation, workflow automation, and browser automation. It provides a unified environment for executing scriptable logic on the Java Virtual Machine with thread-safe concurrent processing. The project includes a built-in HTTP mock server to simulate backend API behavior by delivering dynamic responses to intercepted requests. It also features a visual regression testing tool that detects interface changes by comparing screenshots against baseline images using pixel-matching analysis. The system supports API

    Java
    View on GitHub↗8,882
  • dequelabs/axe-coredequelabs avatar

    dequelabs/axe-core

    6,900View on GitHub↗

    axe-core is an automated accessibility testing engine and compliance auditor designed to scan web and mobile interfaces for violations of industry accessibility standards. It functions as a programmatic scanner and linter that analyzes HTML and source code to identify barriers and verify compliance with accessibility guidelines. The project distinguishes itself by combining a DOM-based rule engine with computer vision and machine learning to detect complex violations that evade traditional analysis, such as visual heading discrepancies and informative images. It provides specialized capabilit

    JavaScripta11yaccessibilityaxe
    View on GitHub↗6,900
See all 30 alternatives to BackstopJS→

Frequently asked questions

What does garris/backstopjs do?

BackstopJS is an automated screenshot testing framework and visual regression testing tool designed to identify pixel-level discrepancies between different versions of a web application. It functions as a browser automation testing suite that captures visual snapshots of a user interface and compares them against stored reference images to detect unintended changes.

What are the main features of garris/backstopjs?

The main features of garris/backstopjs are: Pixel-Level Image Comparison, Screenshot Comparison, Isolated Execution Environments, Containerized Rendering, Baseline Image Storage, Visual Testing, Automated Screenshot Testing Frameworks, Visual Consistency Testing.

What are some open-source alternatives to garris/backstopjs?

Open-source alternatives to garris/backstopjs include: americanexpress/jest-image-snapshot — jest-image-snapshot is a Node.js image testing library and visual comparison engine designed for visual regression… facebookarchive/huxley — Huxley is a visual regression testing tool and browser automation framework designed to detect pixel-level interface… karatelabs/karate — Karate is a Gherkin API testing framework and JVM test orchestrator designed for API validation, workflow automation,… dequelabs/axe-core — axe-core is an automated accessibility testing engine and compliance auditor designed to scan web and mobile… huddle/resemble.js — Resemble.js is an image comparison framework and visual difference engine designed for automated regression testing.… garrytan/gstack — gstack is an AI agent framework and development workflow system designed to automate the software development…