SprintSynergy
Menu
Get in touch โ†’
Open-source npm packagenpm version

qa-core-heal

Self-healing for Playwright locators.

Deterministic. No LLM, no API key.

$ npm install -D qa-core-heal
How it works

Three steps. One of them is refusing.

STEP 01

Run

It runs your Playwright tests and classifies every failure: locator, assertion, app, or environment.

STEP 02

Heal

Only failing locators get healed, using evidence from the failure page and trace.

STEP 03

Refuse

When evidence is not near-certain, it refuses and explains what broke, instead of guessing.

Design principle

Built to never guess

A wrong heal is worse than no heal.

qa-core-heal only rewrites a locator when the evidence is near-certain. Everything else gets a refusal with a teaching message that tells you what changed and why it will not auto-fix it.

If a heal does not make the test pass, it reverts automatically.

Near-certain evidence
Locator is rewritten. The test re-runs to confirm.
Anything less
Refusal, plus a message explaining what changed and why it was not auto-fixed.
Heal did not fix the test
The change is reverted automatically.

Designed for zero wrong heals: it refuses rather than guesses. Deterministic: no LLM, no API key, no network calls to any AI service.

Features

What it does

Tested against real public apps in our internal harness.

  • Failure classification before any healing
  • Shadow DOM support (open and nested roots; closed roots detected and reported)
  • Automatic revert when a heal does not fix the test
  • Auth support: storage state or a login function via qa-core.config.json
  • --json output for CI pipelines, meaningful exit codes
  • Works on macOS, Linux, and Windows
  • MIT licensed, source public on GitHub

Install it

$ npm install -D qa-core-heal

Want this level of rigor on your test suite? Talk to us.