Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Website snapshot testing records an expected rendering or other representation of a page, then checks later test runs against that baseline. For visual testing, Playwright captures a screenshot and compares it with a reference image; differences flag changes for investigation. A first run only creates the reference—it does not confirm that the page is correct. Review that image before accepting it.

How does snapshot testing work?

This guide focuses on visual screenshot snapshots: the test captures rendered pixels and compares them with an approved baseline. In Playwright Test, await expect(page).toHaveScreenshot() performs that assertion. On the first execution, Playwright creates a reference screenshot; later executions compare the new capture with it. Snapshot files are stored beside the test files in a snapshot directory and can be committed and reviewed with the code.

Playwright waits for two consecutive screenshots to produce the same result before comparing the final capture with its expectation. That helps avoid capturing a page while it is still changing, but it does not make inherently variable content deterministic.

A minimal Playwright visual test

import { test, expect } from '@playwright/test';

test('home page visual baseline', async ({ page }) => {
  await page.goto('https://example.com');
  await expect(page).toHaveScreenshot();
});

Run the test with your project’s Playwright Test runner, for example npx playwright test. On its first run, inspect the generated reference as carefully as you would inspect a proposed design change. A baseline is an expectation, not proof of correctness.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

What should a visual snapshot capture?

A screenshot records the rendered appearance of the selected page or region at a particular state and viewport. To make comparisons meaningful, define the state deliberately: use deterministic data, a fixed viewport, and settled fonts and images. Keep browser version, operating system, browser settings, hardware conditions, power source, and headless mode consistent where possible. Playwright warns that each can affect screenshot output and recommends running tests in the same environment used to generate the baselines. Playwright visual comparisons documentation

You can also scope assertions to a particular locator when the component or region, rather than the whole page, is what matters. Smaller snapshots can reduce unrelated changes in a page from obscuring the area under test.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

How do I update screenshot baselines?

  1. Run the visual test and inspect the diff to determine whether the change is an intended UI update or an unexpected regression.
  2. If the UI change is intentional, regenerate the references with npx playwright test --update-snapshots.
  3. Inspect the resulting image changes, then commit the updated snapshots with the code change so reviewers can see the new expectation.

Updating a baseline approves a new expected result. Do not accept it just to make a failing test pass: first establish that the changed appearance is desired, and check for any unrelated differences in the captured image.

Why do visual regression tests fail on CI?

A diff can mean that the interface changed, but it can also come from a rendering environment or unstable page state. Playwright specifically identifies the host OS, browser version, settings, hardware, power source, and headless mode as sources of screenshot variation. An animation, asynchronously loaded image, changing date, or other dynamic content can also make the captured state unstable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
  • Baseline created in a different environment: align the CI browser and operating-system setup with the environment used to create the references.
  • Page content has not settled: wait for the content the test needs, and ensure fonts and images have loaded before capturing.
  • Content changes between runs: make test data deterministic. For genuinely irrelevant, volatile UI, Playwright’s stylePath option can apply a stylesheet during capture to hide or neutralize it.
  • Small rendering differences exceed tolerance: options such as maxDiffPixels can tune sensitivity. Choose a tolerance that reflects the project’s acceptable variation; a looser threshold can also conceal real changes.

Use masking or thresholds narrowly. Hiding a banner that is genuinely part of the expected UI, or raising tolerance until meaningful changes stop failing, weakens the check rather than stabilizing it.

What is the difference between screenshot and accessibility snapshots?

“Snapshot testing” can refer to more than pixel comparisons. Playwright’s toMatchSnapshot can compare text and arbitrary binary output, selecting an approach based on the content type. Visual screenshot snapshots test rendered pixels; they do not establish that an interaction works or that the changed design is accessible.

ARIA snapshots represent accessible structure and can be matched against a template with toMatchAriaSnapshot. Their matching is order-sensitive. Use them when the intended assertion concerns accessible structure rather than visual appearance. A screenshot, text snapshot, and accessibility-tree snapshot each checks a different representation; choose according to the failure you want the test to catch. Playwright ARIA snapshots documentation

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Should you compare locally or use hosted visual review?

A local Playwright workflow keeps image baselines in the repository and can fail a test when a comparison differs. That makes baseline changes available for review alongside code, while placing responsibility on the team to keep the rendering environment repeatable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Percy is a hosted visual-testing service. BrowserStack describes visual diffs against a baseline for review and support for responsive visual regression; its Playwright integration can send screenshot assertions into Percy’s hosted review flow. BrowserStack Visual Testing – Percy · Percy Playwright toHaveScreenshot integration

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Decision point Local Playwright Hosted review with Percy
Where pages are rendered In the Playwright test environment your team runs. Hosted visual-testing workflow; confirm the rendering and browser setup against your team’s requirements.
Where baselines are stored In the repository, beside the test files in a snapshot directory. Managed in the hosted review workflow; the cited documentation describes diffs against a baseline.
How diffs are reviewed Through test output and changes to committed reference images. In Percy’s hosted visual-diff review flow.
CI signal A differing comparison can fail the Playwright test. Playwright assertions can be sent into the Percy review flow; configure CI to match your review process.
Responsive coverage Run captures at the viewports your tests specify. BrowserStack describes responsive visual regression support.
Environment control Your team controls the runner and must keep it consistent with the baseline environment. Compare the hosted workflow’s rendering controls with the degree of environment control your team needs.

The choice depends on where you want rendering and baselines managed, how reviewers should inspect diffs, what CI should do with a change, how you will cover responsive viewports, and how much control you need over the rendering environment.

Or skip the browser setup

For a one-off website capture, ScreenshotNeo provides a screenshot API and MCP server. A request can return a PNG, JPEG, WebP, or PDF; it is a capture service, not a replacement for Playwright baseline comparison.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

See the ScreenshotNeo API documentation for request options. ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot; bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000. Learn about ScreenshotNeo, or sign up for 1,000 free screenshots a month with no card.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Can a screenshot snapshot prove that a button works?

No. It checks rendered appearance, not interaction behavior; use an interaction test for whether the button works.

Does Playwright require a manually created image before the first run?

No. The first execution creates the reference screenshot, which should then be inspected before it is treated as the expected result.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.