PRODUCT / SELF-HEALING

Tests keep working when your UI changes.

Cofactor finds each element when the step runs instead of relying on a fixed selector. If something moved, it repairs that one step and the rest of the run carries on as normal.

app.runcofactor.com/flows/change-plan
Home›Flows›Billing — plan switcher visibility
Billing — plan switcher visibility
RUNS AS
OW
AD
ME
VW
Run flow
SEED DATA
Team With Four Seats
ACTING AS
Owner, Admin, Member, Viewer4 PERSONAS
NAVIGATE
/teams/$var.team_id/billing
ASSERT
Plan switcher is visibleBLOCKING
4 steps below
Configure
Runs
Chat
Activity
14 runs10 nodesLast run Passed
WORKFLOW SCENARIOS1 input · 4 scenarios
Configure
OW
Ownerplan_switcher: visible
Passed
AD
Adminplan_switcher: visible
Passed
ME
Memberplan_switcher: hidden
Passed
VW
Viewerplan_switcher: 403
Passed
Variables
2 variables discovered across workflow nodes
$var.team_idSeed
Step 1: seed data
$var.roleScenario
Step 2: acting as

Billing — plan switcher visibility

OW
Ownerplan_switcher: visible
Passed
AD
Adminplan_switcher: visible
Passed

How a step handles a change.

Cofactor tries these in order. Most changes are handled by the first two, without using an AI model at all.

No fixed selectors

Cofactor finds each element when the step runs. It tries the most reliable way first and only falls back to other ways when it needs to.

Failures are classified first

A hidden element, a missing element and a network error are different problems. Each one gets the kind of retry that suits it, or no retry at all.

Only the broken step is repaired

When a step can’t be found, an AI agent fixes that one step. The rest of the run is replayed exactly as before.

What it learns is kept

A repaired step is saved even if a later step fails, so the next run starts from a better place.

Three steps to fixing a broken test.

01

Replay

Cofactor first replays the known steps in the browser without an AI model. It waits for the page to settle before each action, retries where it makes sense, and checks the result at the end.

02

Repair

If one step can’t be found, an AI agent works on just that step. Its fix goes back into the flow and the run carries on.

03

Re-run

If the flow itself has changed, an AI agent runs the whole flow again using the old steps as a guide. What it finds becomes the new starting point. Cofactor stops at whichever step works first.

Common questions.

Does it edit my tests without asking?

No. Cofactor fixes how a step finds an element on its own. If a test needs to check something different, Cofactor proposes the change and your flow stays the same until you accept it.

What if my app is actually broken?

Then Cofactor tells you. Every failure is sorted into problems with the test and problems with your app. Problems with your app are filed as bugs and never worked around.

What happens to a flow that keeps failing?

After several failures in a row, it’s marked as degraded and skipped in suite runs until someone looks at it. That way one broken flow doesn’t slow down every run.

Do I lose the record of what changed?

No. Every repair is saved on the flow along with what caused it and what it changed, so you can look back at the history.

Stop maintaining selectors.

Join the waitlist, or book a call to talk through your flakiest suite.

Book a call