Introducing Agentic Testing — describe Salesforce tests in plain English.Learn more →
MAINTENANCE
Legacy: Manual Test Fixes AI: Auto-Patched PRs

Tests That Heal Themselves

Stop spending 30% of your sprint fixing broken test scripts. Our AI adapts to UI changes automatically.

When a developer changes a button class or moves an element into a new layout, legacy tests fail. SimpleTest detects the semantic change, auto-patches the test script, and opens a PR for you—all without manual intervention.

Auto-Healing Engine
EXECUTING
await navigateTo('/checkout');
await fill('#email', 'user@demo.com');
await click('#submit-order-btn');
Positioning

SimpleTest, defined.

When Salesforce UI changes, SimpleTest heals the test. QA stops spending 80% of the sprint on locators.

What we address

What we address

  • Maintenance is the jobPackage, Lightning, and Flow changes break scripts every week. Coverage silently dies.
  • Flaky red buildsNobody trusts the suite. Teams ignore failures or skip the gate.
  • Heal-by-handEngineers chase CSS IDs after every community or console restyle.
  • Fear of upgradingTeams delay FSC, CGC, or Experience Cloud packages because tests will not survive.

What you get

What you get

  • Self-healing locatorsIntent survives Lightning, Flow, and template changes.
  • Time back for explorationQA spends the sprint finding real bugs, not patching selectors.
  • A suite you can requireStable results mean the PR check stays on. Failures mean something real broke.
  • Upgrades without a freezeShip the cloud package. Re-run. Heal. Merge.
AI Test Maintenance

End-to-end AI test maintenance flow.

Lightning rerenders break locators. Watch SimpleTest snapshot the DOM, patch selectors, retry the step, and only open CI after every healed path passes.

Test Cases

TitleResult
Open the browserQueued
Enter Salesforce instanceQueued
Login - enter credentialsQueued
Click Sign InQueued
Go to Sales appQueued
Preparing the test dataQueued
Search Lightning recordsQueued
Validate AccountQueued
Validate ContactQueued
Validate OpportunityQueued
Validate QuoteQueued
Validate CaseQueued
Validate SaveQueued
CI quality gateQueued

Test execution

Waiting for run

0%

Starting

00:00.000/14 steps0 passed0 healedQueued
Starting Salesforce journey…
Core Capabilities

Stop Chasing
Broken Selectors.

Our AI maintenance engine detects structural drift in your application and patches the underlying code automatically.

Root Cause Analysis

When a test fails, SimpleTest doesn't just throw a timeout error. It analyzes the DOM tree from the previous passing run against the current failure to pinpoint exactly what changed visually and structurally.

Intelligent Patching

If an ID changes from `#submit-v1` to `#submit-v2`, or a button is moved to a new div container, the AI dynamically recalculates the most resilient selector strategy and patches the test execution in real-time.

Automated PRs

We never change your source code without permission. When a test is healed, SimpleTest automatically generates a Pull Request with the corrected code for your QA engineers to review and merge.

Self-Healing in Action

Watch a Test Heal Itself.

A real-world example: Salesforce pushes a Lightning Winter '26 update. A button moves. Your test breaks. Here's what happens next — automatically.

Test Failure Detected10:42 AM

TC-0087 'Create Opportunity' failed at Step 3: Click 'Save' button

Root Cause Analysis10:42 AM

DOM diff: button[data-aura-class='forceActionButton'] moved from div.actionsContainer to div.slds-page-header__control

AI Selector Healing10:42 AM

Old: button.slds-button[data-aura-rendered-by='412:0'] → New: button[title='Save'][data-aura-class='forceActionButton']

Verification Pass10:43 AM

Re-executed TC-0087 with healed selector — all 6 steps passed

Pull Request Created10:43 AM

PR #412 opened: 'fix(TC-0087): update Save button selector after Lightning Winter '26 release'

Flakiness Explained

Why Salesforce Tests Break.

Salesforce ships 3 major releases per year. Each one can silently break your entire test suite.

3×/year
Major Releases

Tri-Annual Releases

Spring, Summer, and Winter releases change Lightning component structure, shadow DOM hierarchy, and Aura rendering IDs across every org.

100%
Runtime Generated

Dynamic Aura IDs

Salesforce generates data-aura-rendered-by IDs at runtime. IDs like '412:0' can change to '597:0' on every page load, breaking ID-based selectors.

6 levels
Shadow DOM Depth

Shadow DOM Depth

Lightning Web Components use nested shadow roots up to 6 levels deep. Standard querySelector calls cannot penetrate these boundaries.

Variable
Load Times

Async Loading Patterns

Salesforce uses complex async rendering — spinners, lazy loading, skeleton screens. Hard-coded waits either timeout or slow tests down.

Custom Variants

Custom LWC Components

Admins and developers deploy custom Lightning components that change the DOM structure unpredictably across sandbox and production orgs.

Weekly
Config Changes

Field-Level Changes

Adding, removing, or reordering fields on a page layout shifts the entire DOM structure, invalidating positional selectors.

The Impact

Before & After SimpleTest AI.

Without SimpleTest
Test Maintenance40+ hrs/sprint

Manual selector fixes after every Salesforce release

Flaky Test Rate35%

Tests fail randomly due to dynamic IDs and timing

Time to Fix2–4 hours

Per broken test — investigating DOM changes manually

Release ConfidenceLow

QA team can't guarantee test results are reliable

With SimpleTest AI
Test Maintenance~0 hrs/sprint

AI auto-heals broken selectors and opens PRs

Flaky Test Rate<2%

Semantic anchoring eliminates dynamic ID failures

Time to Fix< 60 seconds

AI detects, heals, verifies, and commits automatically

Release ConfidenceHigh

Every Salesforce release passes regression within minutes

Maintenance Dashboard

Full Visibility Into Test Health.

Track every auto-heal, every flaky test, and every PR — all from a single command center.

2,847
Tests Monitored
142
Auto-Heals (30d)
38
PRs Generated
47s
Avg Heal Time
Recent Auto-HealsLast 7 days
TC-0087
Create Opportunity — Save Button
Button relocated in Winter '26
2 min agoHealed
TC-0134
Case Escalation — Status Picklist
New picklist value added
18 min agoHealed
TC-0211
CPQ Quote Line — Discount Field
Field relabeled to 'Volume Discount'
1 hour agoPR Open
TC-0045
Lead Convert — Account Lookup
Lookup component replaced with LWC
3 hours agoHealed
TC-0302
Dashboard — Revenue Chart
Chart component version upgraded
5 hours agoHealed

Stop fixing broken tests by hand.

Let AI heal Salesforce tests when the UI changes, then ship with confidence.