Skip to content

Replace Toolshop with a getmobil.com search suite + selector self-heal#3

Merged
kadiratali merged 1 commit into
mainfrom
feat/getmobil-suite
Jun 23, 2026
Merged

Replace Toolshop with a getmobil.com search suite + selector self-heal#3
kadiratali merged 1 commit into
mainfrom
feat/getmobil-suite

Conversation

@kadiratali

Copy link
Copy Markdown
Owner

Retarget the project from the Toolshop demo app to getmobil.com, build a live-verified BDD search suite, and add the tooling that made it possible.

  • Remove all Toolshop artifacts (features/steps/pages/selectors/story, CI docker-compose + warmup); retarget config/env/CI/README/eval to getmobil.com.
  • pageInspector: recognise data-test-id / data-cy / data-qa / data-automation-id / data-e2e (not just data-test/data-testid) and build selectors with the actual attribute name. getmobil's search box is data-test-id="selenium-...".
  • testGenerator: disable thinking, add output_config.effort, and make --max trim an approved design (adaptive thinking was consuming the whole token budget and emitting no answer). Same thinking fix in failureAnalyzer.
  • getmobil product-search suite: feature + steps + SearchPage + centralised src/pages/selectors/getmobil.selectors.ts. 2 scenarios pass live (npm test).
  • Runtime selector self-heal: new heal-selectors agent tool + selectorHealer.ts — on a runtime locator failure, re-inspect the page and patch the bad selector from a fresh map. Bounded (MAX_SELECTOR_HEAL_ROUNDS), .bak rollback, gated; proven live (break a selector -> run fails -> heal -> re-run green).

Retarget the project from the Toolshop demo app to getmobil.com, build a
live-verified BDD search suite, and add the tooling that made it possible.

- Remove all Toolshop artifacts (features/steps/pages/selectors/story, CI
  docker-compose + warmup); retarget config/env/CI/README/eval to getmobil.com.
- pageInspector: recognise data-test-id / data-cy / data-qa / data-automation-id
  / data-e2e (not just data-test/data-testid) and build selectors with the actual
  attribute name. getmobil's search box is data-test-id="selenium-...".
- testGenerator: disable thinking, add output_config.effort, and make --max trim
  an approved design (adaptive thinking was consuming the whole token budget and
  emitting no answer). Same thinking fix in failureAnalyzer.
- getmobil product-search suite: feature + steps + SearchPage + centralised
  src/pages/selectors/getmobil.selectors.ts. 2 scenarios pass live (npm test).
- Runtime selector self-heal: new heal-selectors agent tool + selectorHealer.ts —
  on a runtime locator failure, re-inspect the page and patch the bad selector
  from a fresh map. Bounded (MAX_SELECTOR_HEAL_ROUNDS), .bak rollback, gated;
  proven live (break a selector -> run fails -> heal -> re-run green).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kadiratali
kadiratali merged commit a799b7f into main Jun 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant