Skip to content
Book demo
Back to Guides

What Are Self-Healing Tests? Locator Repair Explained

Jun 30, 2026
Ani Galstian
Ani Galstian
What Are Self-Healing Tests? Locator Repair Explained

In self-healing testing, the framework performs automated locator repair. It inspects the current DOM, re-identifies the intended element through alternative attributes, accessibility roles, or visual cues, and continues execution while logging the repaired locator. Automated locator repair addresses locator drift when UI changes break selectors. It does not fix functional regressions, timing issues, or environment dependencies.

TL;DR

Self-healing tests repair broken element locators at runtime through multi-attribute fingerprinting and AI-driven re-identification. Conventional UI automation that depends on one selector attribute fails when that attribute changes. This guide defines the mechanisms, maps the locator-to-agent spectrum, and explains selector healing through Playwright v1.56's native Healer agent.

Why Locator Drift Keeps Breaking CI

Self-healing test automation turns locator-only failures into logged repair events. A developer changes a button label, moves a form field, or refactors a component, and the CI pipeline fails even though the product still works. That frustration is the core use case for self-healing tests: automation that survives selector drift without turning every UI cleanup into maintenance work.

This guide explains how self-healing mechanisms work, where Playwright v1.56's Healer agent fits, why locator repair differs from full test maintenance agents, and which risks require human review. It also covers where Augment Cosmos, Augment Code's unified cloud agents platform, fits once teams move past locator repair toward coordinated detection, diagnosis, and remediation.

Where Self-Healing Tests Apply

Self-healing tests run during UI automation and trigger repair the moment a selector fails, then log or persist the repaired locator so the suite can reuse the update across later UI changes.

The mechanism combines multi-attribute element fingerprinting, AI-driven pattern recognition, and fallback locator strategies that maintain locator matching across application updates. Traditional automation that relies on a single attribute such as ID breaks when simple UI tweaks change that selected attribute.

AspectTraditional AutomationSelf-Healing Automation
Locator StrategySingle attribute, such as ID onlyMulti-attribute locator profiles
Handling UI ChangesFails when the selected attribute changesRepairs locator drift through alternative attributes
Test StabilityFlaky when single-attribute selectors changeUses alternative attributes for the locator-drift failure class
Maintenance EffortManual locator updates after selector changesLocator changes reviewed from healing logs
CI/CD Pipeline ImpactPipeline blocked by false locator failuresLocator-related failures can continue after repair
Scaling Test CoverageAdds locator review as selectors changeRequires healing-log review as coverage grows

How Self-Healing Mechanisms Work Technically

Self-healing combines multi-attribute locator repair, LLM-based element re-identification, and runtime repair during execution, each trading accuracy against transparency differently.

Multi-Attribute Element Fingerprinting

Multi-attribute fingerprinting replaces single-attribute locators with composite element profiles, scoring candidates against stored snapshots to survive DOM changes that break ID-only selectors. Modern systems build a fingerprint from visual attributes, text, labels, DOM structure, ID, name, CSS selector, XPath, and relative positioning.

The open-source library Healenium shows this pattern at the framework level, wrapping Selenium WebDriver to intercept a failed element lookup and substitute the highest-scoring healed locator.

AI-Driven Element Re-Identification

AI-driven re-identification uses LLMs to generate fresh locator candidates from element descriptions, validate them against the live DOM, cache the successful strategy, and continue execution, drawing on new CSS selectors, XPaths, attribute-based strategies, and text-matching fallbacks. Implementations that surface proposed fixes for human sign-off before persistence give teams a review gate before a healed selector can replace the original locator on critical paths.

Runtime Healing vs. Post-Run Repair

Runtime healing repairs locators during test execution, so the test continues in the same run instead of failing and waiting for a later fix. Microsoft Power Automate's Repair at runtime feature illustrates the runtime decision model:

  • Apply for every run: Power Automate adds the newly identified selector to the list and updates the flow for future runs.
  • Apply Once: The engineer accepts the suggested selector for this run only, without saving it.
  • Repair Manually: The engineer rejects the suggestion and identifies the required UI element directly.

How Playwright v1.56's Healer Agent Implements Self-Healing

Playwright v1.56 shipped a native Healer agent that executes the test suite and repairs failing tests through an LLM-driven agentic loop. The Playwright v1.56 release notes introduced Playwright Test Agents: Planner, Generator, and Healer, three custom agent definitions built to walk LLMs through building a Playwright test from start to finish. The Playwright Test Agents documentation covers how the Healer fits alongside the other two.

Engineers invoke the Healer from chat by selecting the Healer agent and asking it to fix failing tests. Playwright shows "Run and fix failing tests" as an example prompt. This differs from tools such as Healenium or Testim Smart Locators that intervene transparently during execution.

In practice, the Healer works through four steps:

  1. Replays the failing steps
  2. Inspects the current UI to locate equivalent elements or flows
  3. Suggests a patch such as a locator update, wait adjustment, or data fix
  4. Re-runs the test until it passes or until guardrails stop the loop

The Healer takes a failing test name and returns a passing test, or skips it when it judges the functionality genuinely broken.

Setup runs through a single command:

bash
npx playwright init-agents --loop=vscode # Visual Studio Code
npx playwright init-agents --loop=claude # Claude Code
npx playwright init-agents --loop=codex
npx playwright init-agents --loop=opencode

Running init-agents generates planner.chatmode.md, generator.chatmode.md, healer.chatmode.md, and seed.spec.ts. Regenerate these definitions whenever Playwright updates.

Test Architects should weigh documented limitations before committing. The documentation confirms both of the following:

  • The richest agent tooling targets the JS/TS Playwright Test runner; Java users must manually debug or use third-party proxies like Healenium.
  • The agentic experience requires VS Code v1.105 or later.
  • Custom fixtures and editor-specific agent support vary by client and continue to change release over release. [NEEDS VERIFICATION: confirm current fixture and editor support against the latest Playwright release notes before publishing.]

Self-Healing Selectors vs. Full Test Maintenance Agents

Self-healing selectors repair single element locators when they break. Full test maintenance agents reason about why a test failed, decide whether the cause is a locator issue or a functional regression, and author or modify tests across the lifecycle.

DimensionLocator Self-HealingAdaptive MaintenanceFull Agentic Authoring
TriggerLocator breaksTest step fails or UI changesGoal or coverage gap defined
ScopeSingle element selectorTest steps plus strategyAuthor, execute, repair, refine
ReasoningPattern matching or ML similarityMulti-model UI understandingLLM reasoning about test intent
Human roleReviews healed locatorProvides context on requestDefines goal and reviews plan
AuthoringNoneAssisted or noneAutonomous from natural language
Key limitCannot detect functional regressionsCannot define coverage objectivesConsistency, cost, explainability

The move from locator self-healing to full agentic maintenance is a qualitative jump, not an incremental one. Locator repair only finds and changes selectors, leaving coverage gaps, prioritization, and lifecycle decisions to the rest of the testing strategy. A full maintenance agent instead reasons about why a test failed and decides how to respond, so teams should check vendor self-healing claims against the tier a tool actually implements. Augment Code's guide on how autonomous AI agents transform development workflows covers what that full-authoring tier looks like beyond test repair.

Vendor lock-in depends on where test assets execute. Tools built atop standard frameworks like Healenium, Magnitude, and Playwright Agents keep tests at framework level, while platforms that run tests in proprietary environments such as mabl, Functionize, and testRigor pull execution, debugging, and migration into the platform.

How AI Test Healing Differs Across Frameworks

AI test healing implementations take different approaches to matching UI elements, from tree-comparison DOM similarity and academic similarity algorithms to LLM-based repair. Each paradigm makes a different tradeoff between accuracy, transparency, and the types of UI change it can absorb.

Proprietary smart-locator systems can be opaque: the framework may not show why a specific element was chosen. Healenium takes a tree-comparison approach, as the Healenium documentation explains: it catches the NoSuchElement exception, runs its LCS (Longest Common Subsequence) algorithm against the previous successful locator path, and selects the highest-scoring healed locator.

Academic research provides auditable reference points for similarity-based repair. The WATER and COLOR algorithms compute similarity across multiple element properties, while VISTA applies vision-based template matching for online repair. The UITESTFIX paper describes an approach that performs online repair and adjusts scores using parent-child node relationships and attribute-similarity weighting.

Cypress's cy.prompt healing describes two modes. As of this writing, cy.prompt is in beta rather than generally available, so teams evaluating it for production CI should confirm its current status before committing:

  1. Self-healed via cache: The selector changed since the last run, but cy.prompt resolved the correct element using its existing cached mapping, with no AI call made.
  2. Self-healed via AI: The selector changed and no matching cache entry existed; cy.prompt made an AI call to identify the correct element based on the intent of the original instruction.

Locator fallback and intent-based resolution differ in resilience. Fallback stores multiple ranked selectors per element, which is predictable but fails once all of them become invalid. Intent-based resolution stores semantic intent and resolves the element from the live DOM, surviving redesigns and component migrations as long as the original intent holds.

[ Coming up next ]

The New Code Review Workflow for AI-Native Engineering Teams

See how leading teams keep code review fast and rigorous as AI writes more of the code.

Save your seat
Thu, Jul 9 // 9:45 AM PDT

How Flaky Test Detection Connects to Self-Healing Remediation

Flaky test detection and self-healing remediation are separate categories that require deliberate pipeline design to connect. Detection platforms flag tests that produce different results on the same commit, while remediation tools repair the underlying locator failures. Detection and healing remain separate pipeline stages unless teams explicitly pass failure artifacts from the detection stage into diagnosis and repair workflows.

Detection works by running the suite multiple times on one commit. Retry-passing failures can become flaky candidates, but retry success alone does not prove the root cause is locator drift.

Remediation itself runs in three stages, detection, diagnosis, and repair: a workflow captures runtime artifacts including DOM snapshots, network activity, console logs, and application state, categorizes the root cause, and applies a category-specific fix. A human-in-the-loop requirement spans both phases, since teams should validate auto-fixed scripts against the application's business logic.

Risks and Best Practices for Self-Healing Tests

The main risk of self-healing tests within locator-repair workflows is silent false repair: a system can misclassify a non-locator failure as a selector problem, match a patched selector to the wrong element, and produce a passing test that no longer validates the intended behavior.

The failure pattern is easy to miss: when an app redirects to a login page instead of a dashboard, a naive system can treat the regression as a selector problem, rematch to a different element on the login screen, and produce a passing step that no longer validates the dashboard.

Three risks compound the problem:

  • Wrong element matching: Self-healing systems can match the wrong element, particularly in dense UIs with many similar components. A high-confidence match is not always correct.
  • Over-reliance masking root causes: Self-healing is reactive because it treats the symptom of a failing test rather than the root cause of poor testability, unstable identifiers, or accessibility gaps.
  • Runtime inspection cost: Real-time healing on every run adds DOM inspection and retries to CI execution, so teams should benchmark suites before enabling it broadly.

The recommended review pattern separates runtime continuation from locator persistence: the AI proposes a fix and the pipeline continues, then at the end of the sprint a QA engineer reviews the healing log, approves genuine UI evolution, and flags suspicious repairs.

Risk-tiered approval refines this further. Teams use test criticality to set different approval requirements: automatic application for high-confidence, low-risk tests, and human review for critical business processes. The Katalon Studio documentation on Wait and Verify keywords adds a scoping rule: enabling self-healing for Wait and Verify keywords may lead to false positives and test flakiness, so the capability should apply only to interaction steps.

Diagnosing before remediating separates effective tools from naive ones. Effective tools categorize failures across multiple types instead of assuming every failure is a broken selector, asking whether the app changed in a way that explains the failure before deciding whether to adapt the test or report a bug.

Where Self-Healing Fits in Agent-Authored Testing

Self-healing is the reactive starting point of a shift toward agents that author, execute, diagnose, and maintain tests across the lifecycle. That trajectory still needs controlled empirical benchmarks comparing agent-authored and human-authored test quality at scale.

Open source
augmentcode/augment-swebench-agent872
Star on GitHub

Vendor and engineering roadmaps project healing beyond UI locators to API endpoints, data models, and test logic, but that projection remains outside the selector-drift boundary described in this guide. LinkedIn Engineering's QA Agent roadmap points the same direction, toward shift-left QA skills and automated triage.

Agent-Testing CapabilityBoundary or Review Need
Selector repairReactive repair for locator drift
API, data model, and test-logic healingProjected beyond the UI-locator boundary
Shift-left QA skillsQA Agent skills invoked during code authoring
Automated triageAgent diagnoses issues instead of requiring manual review
Agent-authored test qualityControlled empirical benchmarks still needed at scale

This progression keeps locator repair useful while preserving the need for test strategy, empirical validation, and human oversight.

Augment Code Around Healer Review

Self-healing workflows often need context from code changes, tickets, review comments, CI failures, and repository history. Augment Code fits around those review points without changing the locator-repair boundary described above.

For teams connecting test failures to code changes, Augment Code's MCP integrations can put linked issues, PR feedback, and ticketing systems in the same workflow. Teams implementing version-control integrations can connect GitHub, Jira, Linear, Slack, and CI/CD integrations when separating locator drift from shared-component regressions needs more context.

When onboarding engineers into flaky-test diagnosis, Augment Code's Context Engine can surface shared-component patterns across large repositories through codebase analysis and semantic dependency graph analysis, processing 400,000+ files so the search covers monorepos where locator drift repeats across shared components.

When Augment Code Review identifies issues in a pull request, the "Fix with Augment" action can address all review comments in a single step via IDE or CLI. Teams reviewing healed-locator patches can compare the suggested locator change with codebase context and team standards before applying it, the pattern Augment Code's guide on AI code review in CI/CD pipelines covers as a required status check.

For teams reviewing healer patches from the terminal, Auggie, Augment Code's CLI agent, supports interactive or automated workflows. Teams evaluating AI coding assistants can use its custom commands for repeatable tasks and GitHub workflow support for PR reviews.

For teams implementing risk-tiered healer approval, Augment Code's Rules System can encode approval rules for repeatable remediation workflows. Rules can be auto-attached, manually attached, or AI-selected across IDE and CLI sessions, and Augment Code's SOC 2 Type II compliance and ISO/IEC 42001 certification give security teams a compliance baseline to evaluate before automated healing touches regulated test environments.

When teams coordinate test maintenance across detection, diagnosis, and repair, Augment Cosmos, Augment Code's unified cloud agents platform, gives agents shared context and memory across those stages instead of running each in an isolated tool. Cosmos is in public preview, so availability and feature scope are still expanding. It composes three primitives into that workflow: Environments define where agents run, Experts define how agents behave and which tools they use, and Sessions turn one-off prompts into auditable, replayable workflows a team can reuse. Cosmos ships with a reference E2E Testing expert that validates against real infrastructure rather than mocked environments, connecting agent-authored tests back to the same runtime constraints self-healing tools must respect, so teams can build on that reference expert instead of wiring detection, diagnosis, and remediation together by hand.

What to Do Next

Self-healing test scoping starts with interaction steps. Exclude assertion and verification keywords, then instrument review of healed locators before adoption widens. Track healing frequency as a signal, since a test that heals on every run points to a broken locator strategy rather than to genuine UI evolution.

Agents can support that diagnosis when they understand how changes ripple across the codebase. Teams implementing QA automation strategy can use Augment Code's Service Accounts and tool permissions to keep CI automation governed: Service Accounts support non-human API access, and tool permissions control approved terminal commands.

Frequently Asked Questions

Written by

Ani Galstian

Ani Galstian

Ani writes about enterprise-scale AI coding tool evaluation, agentic development security, and the operational patterns that make AI agents reliable in production. His guides cover topics like AGENTS.md context files, spec-as-source-of-truth workflows, and how engineering teams should assess AI coding tools across dimensions like auditability and security compliance

Get Started

Give your codebase the agents it deserves

Install Augment to get started. Works with codebases of any size, from side projects to enterprise monorepos.