October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

How to Add Visual AI to Automated Tests

Visual AI checks rendered UI against approved baselines. Learn where to add checkpoints, how to keep captures stable, and how to review changes.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Add visual AI by placing a visual checkpoint in an existing browser test after it reaches a stable, meaningful screen. A visual-testing integration captures that screen, compares it with an approved baseline, and presents differences for review. A screenshot command alone does not perform the comparison, and AI does not decide whether a UI change is intentional.

What visual AI adds to an automated test

Functional assertions answer questions such as whether a button is enabled, a heading is present, or a form submission succeeds. Visual testing checks the rendered appearance: layout, typography, colors, spacing, and other visible changes that functional assertions may not catch.

As an Amazon Associate I earn from qualifying purchases.

The workflow has four parts: use the test to reach the desired application state, capture a page or element, compare that capture with an approved baseline, then review the difference. Cypress documents that its screenshot command captures an image but does not compare it; comparison requires a plugin or service. See Cypress visual testing documentation.

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

Choose checkpoints that protect meaningful UI

Start with a few high-value states

Pick important pages, shared components, and states such as an open modal or a logged-in dashboard. Avoid adding screenshots indiscriminately to every test: incidental checkpoints create a review burden without necessarily improving coverage. Cypress’s guidance favors purposeful visual checks.

Choose page or element capture deliberately

  • Element-level checks are useful when a component has a clear owner or when a page contains unrelated dynamic content.
  • Full-page checks fit cases where the overall layout and page composition are what you need to protect.

Keep the checkpoint name descriptive enough that a reviewer can tell which screen or component changed.

Make the rendered state repeatable

Visual comparisons are meaningful only when the current capture and baseline are produced under comparable conditions. Before capturing, wait for the interface to settle; control test data and time-dependent content where possible; and use a consistent rendering environment.

Ads, third-party widgets, and other uncontrollable regions can create noise. Prefer masking only the small dynamic area, if the integration supports it, rather than relaxing comparison across the whole page. Broader thresholds can conceal real regressions.

Free tools Windows power users keep installed

One-click scans. No signup required.

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

Add a Playwright checkpoint with Applitools Eyes

The following TypeScript example uses Applitools’ Playwright fixture and API. It navigates to a page and asks Eyes to capture a full-page checkpoint with strict matching:

import { test } from '@applitools/eyes-playwright/fixture';

test('homepage visual checkpoint', async ({ page, eyes }) => {
  await page.goto('https://example.com');
  await eyes.check('Homepage', {
    fully: true,
    matchLevel: 'Strict',
  });
});

This is an Applitools-specific integration, not a Playwright built-in visual-AI call. Follow the current Applitools Playwright integration documentation for package setup and configuration; SDK setup can change. Place eyes.check() after the test has reached the intended state. Use meaningful names and tune capture and comparison settings for that UI. The integration documentation describes its report and baseline accept/reject workflow.

Run checks in CI and review baseline changes

  1. Run the visual test in the same pipeline as the browser test that establishes the state.
  2. Establish or approve the initial baseline through the integration’s workflow.
  3. When a later run reports a difference, inspect the changed region and decide whether it reflects an intended UI update or a regression.
  4. Accept a new baseline only for an intentional change; investigate and reject unexpected differences.

Applitools documents baseline review actions in its Playwright integration materials. Keep the review tied to normal code review so an approved baseline corresponds to a deliberate product change, rather than an unexplained image update.

How to choose a visual-testing integration

Tools differ in how they capture, render, compare, and review UI. Cypress lists integrations including Applitools Eyes, Argos, Chromatic, Happo, LambdaTest SmartUI, Percy, Sauce Labs Visual, SmartBear VisualTest, and Wopee.io. That list is not evidence that every option uses AI: Cypress specifically describes Eyes as AI-assisted, while it describes Percy as capturing DOM snapshots and rendering them across browsers and responsive widths. Check the vendor’s current documentation for supported workflows.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Does it support your existing framework and language?
  • Do you need component checks, end-to-end states, or both?
  • Is its comparison approach AI-assisted, and what exactly does that mean for your workflow?
  • Does it capture a full page, an element, or a DOM snapshot?
  • Which browsers, viewports, or device rendering targets can it use?
  • How are baselines approved, diffs grouped, and review permissions managed?
  • Can you handle dynamic content and meet your data-privacy requirements?

For Playwright users specifically seeking AI-assisted comparison, Applitools Eyes is one documented option. Cypress’s integration list also names Percy for DOM snapshot rendering and review; the cited description does not establish that Percy uses Visual AI. For product scope, consult Applitools Documentation.

Or skip the browser setup

ScreenshotNeo can return a page screenshot with one GET request. It captures an image; it does not replace a visual-testing integration’s baseline comparison or review step. Cookie banners, popups, and chat widgets are removed before the shot. Bot checks, blank pages, and failed loads are never billed. An MCP server lets AI agents take screenshots, and 1,000 screenshots a month are free with no card; paid plans start at $5 for 3,000.

cURL:

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

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

See the ScreenshotNeo API documentation for request options. To try it, sign up for ScreenshotNeo.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot noisy or confusing results

The test passes, but the visual check reports a difference

A functional assertion and a visual comparison test different things. Inspect the reported region: it may be a real appearance change, or it may come from unstable data, timing, or rendering conditions. Stabilize the state before changing comparison settings.

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

The page is captured before it is ready

Move the checkpoint until after the application reaches the intended state. Wait for the relevant content or interaction to complete, rather than relying on an arbitrary delay when a more specific readiness condition is available.

Dynamic content causes repeated diffs

Control the content in the test where feasible. If a third-party area cannot be controlled, mask only that region if supported by the integration. Do not loosen matching for the entire page to silence one noisy widget.

A screenshot exists, but no diff or baseline review appears

Capture and comparison are separate capabilities. Cypress’s built-in screenshot command captures an image but does not compare it; add a documented plugin or service that supplies visual comparison and review.

The integration code or package setup no longer matches

Confirm the SDK package, fixture import, and options against the vendor’s current documentation before implementation. The example here reflects the documented Applitools Playwright route, but vendor setup details can change.

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

Performance and operating costs

Every checkpoint adds capture and comparison work to a test run, and every noisy checkpoint adds human review effort. Start with a small set of valuable screens, then expand when the added browser, viewport, or component coverage answers a real need. The cited documentation does not provide a neutral benchmark for speed, accuracy, or service cost, so compare current vendor terms and run conditions before estimating those for your suite.

Frequently Asked Questions

Does adding a screenshot command make a test a visual regression test?

No. Capture produces an image; visual regression testing also needs comparison against a baseline and a process to review differences.

Does Visual AI automatically determine whether a change should be accepted?

No. AI-assisted comparison can help identify visual differences, but a reviewer still needs to decide whether a change is intentional.

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.

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

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.