Skip to main content
Back to Blog
AI Testing
2026-05-19

Applitools Visual AI Testing Complete Guide 2026

Master Applitools for visual AI testing in 2026. Eyes Validator, Ultrafast Grid, Native Selectors with self-healing, accessibility, and integration with Playwright, Cypress, and Selenium.

Applitools Visual AI Testing Complete Guide 2026

Visual testing was a niche technique for years; in 2026 it is mainstream. Applitools is the platform that drove the change, and Eyes Validator has become the de facto standard for visual AI testing across web, mobile, and desktop. The product line covers visual validation (Eyes), cross-browser execution (Ultrafast Grid), self-healing locators (Native Selectors), and accessibility checks. Together they form one of the most useful AI-powered testing platforms in the market.

This guide covers Applitools end to end: installation with major test frameworks (Playwright, Cypress, Selenium), Eyes Validator concepts, Ultrafast Grid execution, Native Selectors with self-healing, accessibility testing, and CI integration. We include code samples for every common pattern and a setup checklist. By the end you should know how to add Applitools to your existing test suite and use it to catch UI bugs your DOM-based tests miss. The guide assumes basic JavaScript or Python familiarity and an existing test suite.

Key Takeaways

  • Applitools is the leading visual AI testing platform; Eyes Validator catches UI bugs DOM-based tests miss.
  • Eyes uses computer vision to compare screenshots, ignoring noise while catching meaningful changes.
  • Ultrafast Grid renders pages once and tests across hundreds of browsers and devices in seconds.
  • Native Selectors use visual fingerprints to heal DOM locator failures automatically.
  • Accessibility AI checks WCAG compliance on the rendered page, not just the DOM.
  • Pricing is per-seat plus per-validation; cost is moderate compared to full-platform alternatives.

Why Visual Testing

DOM-based tests check that elements exist and have expected text. They miss UI bugs that do not affect the DOM:

A button that overlaps a label.

A modal that opens behind another element.

A font that fails to load and falls back to a different family.

A misaligned column in a table.

A color contrast issue that fails accessibility.

These bugs are visible to users but invisible to DOM assertions. Visual testing catches them by comparing the rendered page to a baseline image.

The trap with naive visual testing is noise. Every pixel difference triggers a fail; antialiasing, animations, and dynamic content produce false positives. Applitools Eyes uses computer vision to filter noise while catching meaningful changes.


Installation

For Playwright (Node.js):

npm install @applitools/eyes-playwright

For Cypress:

npm install @applitools/eyes-cypress

For Selenium (Python):

pip install eyes-selenium

For Selenium (Java):

<dependency>
  <groupId>com.applitools</groupId>
  <artifactId>eyes-selenium-java5</artifactId>
  <version>5.x</version>
</dependency>

Set the API key:

export APPLITOOLS_API_KEY=...

The key is from the Applitools dashboard.


Eyes Basic Usage

The Eyes API has a small surface: open, check, close.

// Playwright + Eyes
import { test } from "@playwright/test";
import { Eyes, Target } from "@applitools/eyes-playwright";

test("home page", async ({ page }) => {
  const eyes = new Eyes();
  await eyes.open(page, "MyApp", "Home Page Test");
  await page.goto("https://example.com");
  await eyes.check("Home Page", Target.window().fully());
  await eyes.close();
});

The check call takes a screenshot and compares it against the baseline. If no baseline exists, the screenshot becomes the baseline.

The Target.window().fully() option captures the full page, scrolling if needed.


Match Levels

Eyes supports match levels that control how strict the comparison is.

await eyes.check("Page", Target.window().matchLevel(MatchLevel.Strict));
await eyes.check("Page", Target.window().matchLevel(MatchLevel.Layout));
await eyes.check("Page", Target.window().matchLevel(MatchLevel.Content));
await eyes.check("Page", Target.window().matchLevel(MatchLevel.Dynamic));
Match LevelBehavior
StrictPixel-level with antialiasing tolerance (default)
LayoutPosition and structure, ignores content
ContentLayout plus content, ignores style
DynamicAdapts to known dynamic regions

For most pages, Strict is the right default. For pages with dynamic content (timestamps, user data), use Layout or define ignore regions.


Ignore Regions

For dynamic content (timestamps, user IDs, ads), exclude regions from comparison.

await eyes.check("Page", Target.window().ignoreRegions(
  { selector: ".timestamp" },
  { selector: ".user-id" },
));

Regions can be CSS selectors, coordinates, or visual fingerprints. Use selectors when possible for stability.


Ultrafast Grid

Ultrafast Grid renders pages once and compares against baselines across many browsers and devices in parallel.

import { Configuration, BrowserType, DeviceName } from "@applitools/eyes-playwright";

const config = new Configuration();
config.addBrowser(1920, 1080, BrowserType.CHROME);
config.addBrowser(1920, 1080, BrowserType.FIREFOX);
config.addBrowser(1920, 1080, BrowserType.SAFARI);
config.addDeviceEmulation(DeviceName.iPhone_12);
eyes.setConfiguration(config);

The Grid runs the visual checks in the cloud. Your test only needs to run once locally; the Grid handles the cross-browser execution.

This is dramatically faster than running tests on Sauce Labs or BrowserStack. A 100-browser check that would take an hour on a device cloud takes minutes on Ultrafast Grid.


Native Selectors with Self-Healing

Native Selectors are Applitools's self-healing locator system. They work alongside Eyes for visual testing or standalone for DOM testing.

import { eyes } from "@applitools/eyes-playwright";

await eyes.click({ selector: "Submit button" });
await eyes.type({ selector: "Email input" }, "user@example.com");

When the selector fails, Native Selectors fall back to visual matching: find an element that looks like a Submit button.

The self-healing accuracy is competitive with Testim, Mabl, and Functionize. The advantage of Applitools Native Selectors is that you keep your existing test framework.


Accessibility Testing

Applitools has built-in accessibility checks.

import { AccessibilityLevel } from "@applitools/eyes-playwright";

config.setAccessibilityValidation({
  level: AccessibilityLevel.AAA,
  guidelinesVersion: "WCAG_2_1",
});

The accessibility checks run on the rendered page (not just the DOM), catching issues like:

Insufficient color contrast.

Missing alt text on images.

Form fields without labels.

Headings out of order.

Focus indicators missing.

The accessibility report is integrated with Eyes; one check produces both visual and accessibility results.


CI Integration

Add Eyes calls to existing tests; CI runs them as part of the normal test pipeline.

# .github/workflows/test.yml
name: Tests
on: [pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm install
      - run: npx playwright install
      - run: npx playwright test
        env:
          APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }}
          APPLITOOLS_BATCH_ID: ${{ github.sha }}

The Eyes dashboard shows results per batch (one batch per CI run).


Review Workflow

The Eyes dashboard is the primary review interface. When a visual check fails, reviewers see:

The baseline image.

The current image.

The diff highlighted.

Suggested actions (accept as new baseline, mark as bug, define ignore region).

The review workflow is fast. Most pages take seconds to review.

For teams with many visual tests, set up review on every PR. Reviewers see only the changed checks.


Pricing

Applitools pricing is per-seat plus per-validation. A validation is one Eyes check.

TierPer-Seat MonthlyValidations Included
Eyes Free$0100/month
Eyes Starter$300/seat5000/month
Eyes Pro$1000/seat25000/month
Eyes EnterpriseCustomCustom

For a 5-person team running 1000 validations per day, expect $2000-$3000/month.

The pricing is competitive with full-platform tools (Mabl, Functionize) for visual testing alone. The platforms include more (authoring, execution) but Applitools is cheaper if you already have a test framework.


Comparison to Alternatives

ToolVisual AICross-BrowserSelf-HealingAccessibility
ApplitoolsBest-in-classBest-in-classYesYes
PercyGoodLimitedNoLimited
ChromaticGood (Storybook)LimitedNoNo
MablGoodYesYesYes
FunctionizeGoodYesYesLimited

Applitools is the leader in visual AI. Percy and Chromatic are specialized: Percy for general web, Chromatic for Storybook.


When to Choose Applitools

Choose Applitools if:

You have an existing Playwright/Cypress/Selenium suite.

You need cross-browser visual testing.

You want best-in-class visual AI.

You need accessibility testing integrated with visual checks.

Avoid Applitools if:

You want a full-platform tool with authoring and execution; Mabl or Functionize are better.

You only need Storybook visual testing; Chromatic is cheaper.

You have minimal need for cross-browser; the per-validation cost may not justify.


Setup Checklist

Sign up at applitools.com and get an API key.

Install the appropriate SDK for your test framework.

Add Eyes calls (open, check, close) to one existing test.

Run the test and see the baseline created in the dashboard.

Add more Eyes calls to other tests.

Configure Ultrafast Grid for cross-browser execution.

Add accessibility validation if needed.

Integrate into CI with the APPLITOOLS_BATCH_ID env var.

Set up review workflow in the dashboard.

Add the dashboard URL to your team wiki.


Common Patterns

Pattern 1: critical page coverage. Add Eyes to the 10-20 most important pages. Catches visual bugs on the surfaces that matter.

Pattern 2: component-level testing. Eyes calls in unit tests for individual components, especially in Storybook.

Pattern 3: cross-browser as routine. Ultrafast Grid replaces a Sauce Labs subscription. Cheaper and faster.

Pattern 4: accessibility shift-left. Accessibility checks in CI catch issues before they reach production.


Common Pitfalls

Over-checking. An Eyes call on every page bloats the dashboard. Be selective.

Ignoring ignore regions. Dynamic content produces false positives without ignore regions.

Mismatched browsers. Baselines from one browser fail on another. Use Ultrafast Grid to match production browsers.

Skipping review. Auto-accepting all changes silently changes baselines. Always review.

Forgetting batch IDs. Without a batch ID per CI run, the dashboard becomes hard to navigate.


Migrating from Percy or Chromatic

If you currently use Percy or Chromatic and want to move to Applitools:

Percy: SDK API is similar; rename calls.

Chromatic: Chromatic is Storybook-specific. Replace with Applitools eyes-storybook package or component tests.

The match levels and review workflow are different. Plan for a week to migrate and tune.


Further Resources

  • Applitools documentation at applitools.com/docs.
  • Compare visual testing tools at /blog.
  • Browse visual testing skills at /skills.

Conclusion

Applitools is the visual AI testing leader in 2026. Eyes catches UI bugs DOM-based tests miss; Ultrafast Grid scales cross-browser execution; Native Selectors heal locator failures; accessibility AI catches WCAG issues. For teams with existing test frameworks, Applitools adds visual testing without rewriting tests. Browse /skills for related tools and the /blog for deeper guides.

Applitools Visual AI Testing Complete Guide 2026 | QASkills.sh