Selenium Self-Healing

Keep your Selenium tests. Make maintenance easier.

Already using Selenium tests in Java? Keep your existing suite. If a button ID changes after a release, TestZombie can assist with suitable locator failures and optionally record successful fixes in code.

Java + SeleniumExisting JUnit/TestNG suitesAutomatic Code Update
CheckoutTest.java
// old locator fails
driver.findElement(By.id("checkout-submit-v1")).click();

// TestZombie recovers the intended target
// healed → button[data-testid='checkout']

// successful recovery can become a durable fix
driver.findElement(By.cssSelector("button[data-testid='checkout']")).click();
Why Selenium tests break

The application is alive. The locator is outdated.

A developer changes a CSS class or button ID. Users can still complete the journey, but the automated test uses the old locator. This is where TestZombie can help.

1

DOM refactoring

Structural changes invalidate XPath or CSS selectors.

2

Dynamic attributes

Generated IDs and classes are not durable selectors.

3

UI components evolve

The business target stays the same while its technical representation changes.

How it works

Selenium healing in four steps

The integration sits where your WebDriver already works.

1

Run tests as usual

Your existing Selenium tests remain the starting point.

2

Locator cannot be resolved

When a test cannot find a button or field, TestZombie receives the failed locator and current page context.

3

Identify the intended element

TestZombie searches for alternatives and uses a match only when it is sufficiently reliable.

4

Write the fix back to source

You can optionally save successful repairs in Java test code. The previous locator remains as a comment for traceability.

Integration

Add it to an existing Selenium suite

The Developer documentation includes Maven setup, driver initialization and configuration options.

Developer Guide
pom.xml
<dependency>
  <groupId>com.testzombie</groupId>
  <artifactId>testzombie-lib-java</artifactId>
  <version>1.0.0</version>
</dependency>

TestZombieDriver.setCredentials("<key>","<email>");
WebDriver driver = TestZombieDriver.createChrome();
🧟

Fewer locator fixes

Routine UI changes do not have to be investigated manually every time.

🔎

Transparent healings

See when, where and how a locator was replaced.

🛠️

Durable code fixes

Optionally save successful repairs to Java code rather than rediscovering the same locator repeatedly.

📊

Central analysis

Review test runs and healing events in one place.

FAQ

Frequently asked questions about Selenium self-healing

Does TestZombie work with existing Selenium tests?

Yes. The approach augments existing Java/Selenium test automation instead of requiring a new suite.

What happens if no safe replacement can be found?

The test should fail normally. Self-healing must not hide a real failure with an unsafe match.

Can I review successful healings?

Yes. Healing logs make the original locator, replacement decision and context traceable.

Can the new locator be written into the test source?

TestZombie can expose successful healings as fix recommendations and use the supported auto-update capability for test code.

TestZombie AI

Keep your existing tests alive longer.

Keep your Selenium, Playwright or Appium tests and add self-healing, failure analysis and optional code maintenance.