Skip to main content
Version: 1.0.8

Element Registry

The Element Registry is the knowledge AutoRunner builds about your application. Every screen an AI generation run observes, and every element it interacts with, is recorded here with a stable identity and a history of the locators that worked.

Scenarios reference registry elements rather than raw selectors. When the application changes, the registry is what lets AutoRunner repair a scenario instead of failing it.

Open the registry from AI Studio — the Element Repository and Screens tabs.

How Elements Are Identified

An element is not a selector. It is an identity made of:

PartMeaning
PlatformWeb, Android, or iOS
NamespaceThe application namespace the screen belongs to
Screen keyThe observed screen the element lives on
Element keyThe element's stable key within that screen
Node pathIts position in the screen's UI graph

Locators hang off that identity as versions. Because identity is separate from locator, a changed selector does not create a new element — it creates a new locator version on the same element.

Element Repository

The Element Repository tab is scoped by platform — Android, iOS, or Web — and laid out in three columns.

Screens Column

The registry screens for the selected platform, each showing its namespace and element count.

Below them, an Observed, not registered section lists screen keys the generation runs have seen but that no registry screen owns yet. Select Register to promote one into the registry.

Elements Column

The active elements of the selected screen. Each row shows a category dot, the element name, and badges:

BadgeMeaning
humanAuthored by a person rather than by the engine
dormantNo live scenario binds this element
pending nameThe element still has an engine-assigned name
green / red countersHow many runs succeeded and failed on this element

Double-click a row to copy its step reference in the form <Screen.element>.

Element Detail

SectionContent
NameEditable inline. Rename applies it, uniquified within the screen.
BadgesScreen, category, kind, origin, and success/failure counters
UsageThe scenarios whose active revision binds this element
Identity keysThe identity keys the element claims
Observed behaviourWhat interacting with the element did — effects and measured interaction recipes
Locator versionsThe append-only version history
EventsIdentity events recorded against the element

An evidence badge summarizes the locator's standing:

BadgeMeaning
provenA run proved a locator of this element against the live target
failingEvery recorded attempt on this element failed
untriedNo run has proven a locator yet, but the element is still selectable

Editing a Locator

Select New HUMAN version to author a locator by hand. The editor prefills from the latest version.

Each candidate row has:

FieldNotes
Locator strategyThe strategies available depend on the platform
Locator valueThe selector itself
frames (outer >> inner)The iframe chain, outermost first, separated by >>
Occurrence indexLeave empty when the locator is already unique

Row order is the replay order — the first candidate that resolves uniquely wins. Use the move controls to rank them, then Save version.

Platform strategy vocabularies:

PlatformStrategies
Webcss, xpath, id, testId, role, label, placeholder, altText, title, text, name
Androidid, xpath, accessibilityId, className, androidUiAutomator, text
iOSxpath, accessibilityId, className, iosPredicateString, iosClassChain, name, label

A strategy stored from another platform is marked "not executable" and must be replaced or removed.

Scope, arguments, and roles carry over read-only — they belong to the element contract, and a locator version cannot change them.

note

Locator versions are append-only. Elements are never deleted or re-keyed here, so a version you add sits alongside the engine's, ranked by the order you set.

Creating an Element

New element authors a synthetic element on the selected screen: a Name, a Category, a Kind, and its locator candidates.

If one of your locators is already owned by a registered element, the form names that element and offers to create yours anyway.

Coverage

The Coverage badge reports how many registry elements a live scenario actually references, with a per-category breakdown in its tooltip.

It has three states:

  • A used-out-of-total count with a percentage.
  • Coverage: index not built — the project's scenario reference index has not been built yet, so usage is unknown.
  • Coverage — — coverage could not be read.
note

Coverage separates measured coverage from unmeasured targets, so missing evidence is never presented as covered.

Permissions

Viewing the registry needs no special permission. Creating elements, renaming, saving locator versions, and deciding proposals require scenario write permission. Without it the write controls are hidden.

Screens

The Screens tab is the same knowledge organized by screen.

The left panel lists registered screens with screenshot thumbnails, plus the same Observed, not registered section with Register actions.

With no screen selected, the right pane draws the application flow map — the transitions the generation runs observed between screens. Only the most frequent transitions are drawn.

Selecting a screen opens four sub-tabs:

Sub-tabContent
OverviewScreenshot, metadata, and the screen's observed screen keys
KnowledgeWhat AutoRunner has recorded about the screen
ElementsThe screen's elements, with the same detail panel as the repository
FlowsIncoming and outgoing transitions for this screen

Observed Screen Keys

A registry screen can own several observed keys, because AutoRunner merges keys it believes describe the same screen.

When a merge was wrong, select Detach on the key. It becomes a registry screen of its own; the elements stay on the original screen and scenarios re-link on regeneration.

A screen's only observed key cannot be detached.

Send to CaseWriter

Send to CaseWriter hands the selected screen knowledge and flows to CaseWriter as source context for test case generation. See CaseWriter.

Proposal Queue

The engine proposes; you decide. Registry proposals in the Element Repository header opens the queue.

Each proposal shows its kind, the element and screen it concerns, and the run that raised it.

Proposal kindRaised when
Duplicate candidateA generation minted an element whose fingerprint matches an existing one, but no strong key proved it
Locator proposalA replay found the element through new material
Screen twin candidateTwo registry screens share most of their strong anchors
Component candidateThe same element set appears under a landmark on several screens

Screen twin and component candidates cannot be accepted yet — reject one, or leave it proposed.

Evidence shown per proposal:

  • Shared keys and Vetoed by chips for duplicate candidates.
  • The candidate locator chains, per role, for locator proposals.
  • A contested badge when the existing element is itself claimed by more than one element.

For a duplicate, choose the Merge into target — either fold the proposed element into the existing one, or keep the proposed element and fold the existing one into it.

Add an optional decision note, then Accept or Reject. Accept is disabled, with the reason in its tooltip, when the proposal is stale, when no merge target is picked, or when that kind of acceptance is not yet available.

Self-Healing Review

When a scenario step fails and the agent repairs it during a run, AutoRunner records a heal event. Runtime-only repairs may be acknowledged automatically, but anything that changes a scenario or a locator needs your decision.

Where Heal Events Appear

SurfaceWhat you see
Run DetailA Self-Healing strip with awaiting-review, applied, and rejected counts
Step rowsA heal badge on the affected step
Plan and run listsA sparkle pill with the total heal count, pulsing when reviews are pending

Heal Types

TypeWhat was repaired
Locator updateA working locator replaced a broken one
Step retargetThe step was pointed at a different element
Step insertA step was added
Step skipA step was skipped
Step rewriteThe step was rewritten

Reviewing a Proposal

Selecting a heal event opens the review dialog.

Authority — the scenario, run, attempt and result, source node, execution occurrence, base and current revision, and the evidence policy version. These pin the proposal to exactly one execution, so a proposal cannot be applied to a scenario that has since changed.

Runtime outcome — whether healing recovered the step during the run.

Proposed target locators — for each proposal, the platform, namespace, screen, element key, node path, and graph base checksum, then the locator evidence. Each candidate is marked either Current target proven or Not marked proven, with the iframe chain and evidence policy where they apply.

Original and Proposed snapshots side by side, comparing the BDD text, step key, element, parameters, and locators.

Healer reasoning — why the agent made the change.

Add an optional note, then Reject or Accept. The available decisions come from the server: a decision the server did not grant is disabled, with the reason shown. When authority is incomplete or stale, a Persistent Accept unavailable block explains why — for example, the active scenario changed after the run, so it must be replayed against the current revision.

warning

Accepting or rejecting a proposal never rewrites the historical run's pass or fail result. Review controls only what future runs do.

Accepting a scenario change creates a new automation revision, and the dialog links to it so you can open it in AI Studio. Accepting a graph-only repair keeps the scenario revision unchanged and admits the repaired locator into the shared knowledge.

Next Steps

  • AI Studio — Where the registry tabs live
  • Run Detail — Where heal events surface after a run
  • AI Editor — Editing repository-backed test code