Self-Healing
Playwright Tests

Stop debugging broken selectors. Octomind detects UI changes and generates the fix.Just run octomind pull to sync the updated code to your repo.

Test Failed: Element not visible

selector: '#btn-save'

Octomind

✨ Octomind Proposed Fix

+ selector: '[data-testid="save-changes"]'

Checkout.yaml

Ready to sync • 1 file modified

waiting for pull

Trusted by hundreds of teams around the world

BRM
Deriv
Fixify
Wingrep
Hadrian
Lennar

How Auto-Maintenance Works

Input: Trace & Snapshot
$ npx playwright test
✗ login.spec.ts:24
Element not found

1. Failure Analysis

When a test fails, we analyze the Playwright Trace and DOM snapshot to distinguish between actual bugs and UI changes.

Process: AI Analysis
<form>
<button>Submit</button>
</form>

2. Semantic Relocation

Our AI finds the element that matches the original user intent using surrounding context, accessible roles, and text labels.

Output: Code Patch
$ octomind pull
> Syncing fixes...
✔ Updated checkout.spec.ts

3. Source Update

We update the test definition in the cloud. You simply run octomind pull to apply the fix permanently to your local git branch.

The fix lands in your Repo

Runtime patching is temporary. Source healing is permanent. Octomind treats test maintenance as a code refactor. Review the fix in the cloud, then pull it to your repo.

Transparent Git Diff
Export as standard Playwright code
Full version history
tests/checkout.yaml
Modified
4- name: Click "Complete Purchase"
5  action: click
6- selector: "#submit-btn-v1"
6+ selector: "[data-testid='submit-order']"

Total Control. Zero Surprises.

No magic pushes. Maintain full authority over your codebase with human review and local verification.

Zero Silent Commits

Octomind never pushes code to your repository automatically. Every fix starts as a pending proposal waiting for your explicit approval.

Human-in-the-Loop

You are the final gatekeeper. Review the proposed selector changes in the dashboard to ensure they align with your testing standards.

Verify Locally

Like it locally? Pull the proposed fix to your local dev environment and test it against your local app before merging.

frequently asked questions

Everything you need to know about Auto-Healing

How is "Source-Level Healing" different from standard self-healing?
Standard tools use "runtime patching," which keeps the test green temporarily but leaves your code broken. Octomind performs Source-Level Healing, calculating a permanent fix for the Playwright selector and updating the test definition in your repository so your code stays healthy.
Will Octomind change my code without permission?
Never. Octomind follows a "Zero Silent Commits" policy. We propose a fix when a test fails, but no code changes are applied until you explicitly review the proposal and run octomind pull to sync it to your branch.
Does this work with Shadow DOM or Iframes?
Yes. Octomind's AI traverses the full DOM tree—including Shadow Roots and nested Iframes—to locate elements that standard selectors often miss. It works seamlessly with complex architectures and Web Components.
What happens if I stop using Octomind? (Vendor Lock-in)
You keep your tests. Octomind generates standard, open-source compatible test definitions. Since the healed selectors are committed directly to your repo, your test suite remains yours forever, with no dependency on our platform to run them.
Does it fix "flaky" tests or just broken ones?
Both. For broken selectors, we propose a code fix. For flaky tests caused by timing or network latency, Octomind applies internal stabilization logic (like smart auto-retries and dynamic waits) to ensure your tests pass reliably without requiring manual intervention.

release confidence starts here

Try Octomind and instantly get stable runs, visual debugging, and self-healing tests.