Tomas Brekke
Locators, the healer, and a long-running argument against XPath.
Maintainer · 33,915 reputation · here since 2 Jun 2020
Asked (0)
Nothing yet.
Answered (48)
How do you test a node-graph editor — blocks, edges and connection handles?
Half our product is a workflow builder: a canvas with about 190 block types, edges between them, and connection handles on each node. None of it is text or roles — the nodes…
asked by Nadia Belkacem8,611 ·heal_events, heal_locator_stats and sdods heal report — which do I use for what?
Building a small internal dashboard on top of the MCP server. There appear to be three ways to get at healing data and I cannot tell from the tool descriptions where the…
asked by Zeynep Arslan64 ·OAuth consent opens a popup and my steps keep talking to the first tab
Clicking "Connect account" opens the provider's consent screen in a new tab. Everything after that in my scenario runs against the original tab, which is still sitting on the…
asked by Vikram Rajagopal1,240 ·No step for downloads — how do I assert that an export produced a real CSV?
We have about a dozen export buttons. The most I can assert from a feature file today is that a toast appeared, which passed happily for two weeks while the export was returning…
asked by Karine Moreau655 ·How do I fill a Stripe Elements card field from a feature file?
Checkout uses Elements, so the card number is inside an iframe. The obvious step does not find it: Which is fair enough — it is not in the main frame. I cannot find a frame step…
asked by Owen Brackley144 ·net::ERR_ABORTED on an authenticated route is our single biggest source of failures
Top error signature in a clean single-worker run, by a wide margin: 55 of the 192 failures I captured, plus a big pile of click timeouts that I am fairly sure are downstream of…
asked by Elsa Nyman333 ·strategy: sso gives me no session and no error — every scenario lands on /login
We are behind an identity provider, so: Every @ui scenario now fails, but not with an auth error — with a pile of locator timeouts, because the page is /login and none of the…
asked by Fiona McAllister159 ·probeTimeoutMs of 1500 is too short on our staging box — every candidate scores 0
Locally everything heals. On staging the same locators fail with HEAL_FAILED and every candidate in the hint reads 0.00, including ones I know match, because I can open the page…
asked by Rasha Halabi572 ·analyze gave me modules called deploy, execute and status instead of workflows
Thirty modules on the proposal and twelve of them are verbs: status, delete, export, send, run, update, upload, download, stats, validate, versions, introspect. They are all…
asked by Tanvi Bhatt126 ·analyze stopped at 8000 files and most of them were gitignored worktrees
sdods analyze . on our monorepo finishes but the checklist has scan-truncated on it, and the report is nonsense: no CI provider, two modules, no test-id attribute. We have 48…
asked by Bea Lindqvist4,318 ·Can I turn healing off for one scenario without touching the whole project?
We have one scenario whose entire job is to assert that the design system has not moved the primary action button. Healing makes it unfalsifiable — it heals to the role and…
asked by Bea Lindqvist4,318 ·What does --write-history actually change about future heals?
The docs say it biases future heals towards strategies that worked. Before I put it in the nightly I would like to know how much bias, and whether running it is reversible.
asked by Rasha Halabi572 ·Cart got redesigned — re-record the flow from scratch, or patch the old spec?
The cart page was redesigned. Same flow, different markup. We have checkout.spec.ts from March and a feature that came out of it back then. Do I re-record from scratch or patch…
asked by Rasha Halabi572 ·Same locator healed five times and I still have no page-object proposal
The docs say three identical successful heals of the same locator produce a page-object patch proposal. Ours has healed five times across four nightly runs, same description,…
asked by Koen Vermeulen309 ·Is XPath actually forbidden in a page object, or only discouraged?
Reviewer left "never XPath" on my proposal. The locator strategy page says CSS or XPath as a last resort inside a page object with a heal context, which reads like "allowed but…
asked by Koen Vermeulen309 ·Our nth-child selectors break every sprint and healing never rescues them
Inherited suite, roughly two hundred locators in this shape: Every time the results list gains a badge or a promo row, a chunk of them break, and they break with HEAL_FAILED…
asked by Tanvi Bhatt126 ·Is a healing failure a SdodsHealError or a SdodsError? The docs disagree with the output
We catch SDODS errors in a small wrapper to add our own reporting. The self-healing guide's resolution diagram ends at a node labelled SdodsHealError, so I wrote: which never…
asked by Sergio Alcaraz415 ·The healer proposed a CSS locator when there is a perfectly good label — reject it?
Scenario broke, ran the healer, got a proposal. The patch swaps a page-object locator for a class chain: The input has a visible label reading "Promo code". So there is an…
asked by Anouk de Vries238 ·HEAL_FAILED: nothing scored above 0.6 and testId probed at 0.00
The context is: What I cannot work out is testid=0.00. It is the same test id the primary uses, so of course it found nothing — but then why probe it at all? And where does 0.42…
asked by Anouk de Vries238 ·What should minScore be? 0.6 feels arbitrary
I understand what the number does. I do not understand what I would gain or lose by moving it. Has anyone actually tuned this, and in which direction?
asked by Bruno Teixeira694 ·Do you commit baseline PNGs into the repo, or is this what git-lfs is for?
We are about to turn @visual on for real — currently one scenario, about to be fifteen, on two browsers, and eventually two platforms once CI has its own baselines. Before I…
asked by Fiona McAllister159 ·What should I actually look at in a proposal before running sdods proposals accept?
First week of using the generator role. sdods proposals show <id> gives me a diff and a manifest and I am reading it the way I read any PR, which I suspect is the wrong instinct…
asked by Bea Lindqvist4,318 ·We renamed one button and 40 scenarios healed in the same run — now what?
Design renamed "Continue" to "Next" on the checkout stepper. Nothing failed. The nightly regression run is green and carries forty-one heal events, all with the same description,…
asked by Bea Lindqvist4,318 ·sdods heal report says No run found. but the suite ran two minutes ago
Exit code 2. The run directory is there and full of files — I can open heal.jsonl inside it.
asked by Nikhil Sane487 ·Recorded spec is all .btn_primary and nth-child — fix the locators before or after converting?
Recorded a checkout. The spec is mostly this: Each of those came back with a // sdods:fragile comment above it, and the CLI finished with I would rather not convert this into a…
asked by Nikhil Sane487 ·
Earlier (23)
- What do the columns of sdods heal report actually mean?2 answers✓ · 2023
- Is it safe to leave self-healing enabled in CI, or is that cheating?2 answers✓ · 2023
- testIdAttribute is data-test, so why does the heal suggestion say getByTestId?2 answers✓ · 2023
- Diff flaps between clean and 2% on a page with a fade-in, but animations are disabled2 answers · 2023
- Which key names does the secret check actually match? tokenUrl is fine but standardPassword is not3 answers✓ · 2023
- First UI run: five scenarios fail on the sign-in page, but the API layer was green4 answers✓ · 2023
- How deep should page objects nest? We are four levels in and it hurts3 answers✓ · 2023
- Suite went from six minutes to nineteen after we enabled healing3 answers✓ · 2023
- Can I put an XPath in the css fallback list of a heal context?2 answers✓ · 2022
- Should I commit the suggested locator from a heal log, or go and find out why?2 answers · 2022
- @visual is green locally and reported flaky on CI — attempt 1 fails, attempt 2 passes3 answers✓ · 2022
- Added one mask selector in the env file and the other three disappeared3 answers✓ · 2022
- A header widget appears on six pages — one page object per page, or something else?3 answers✓ · 2022
- Why does healing never kick in for expectHidden()?3 answers✓ · 2022
- I do not want healing to rescue a broken locator — I want the test to fail4 answers✓ · 2021
- What is the least painful way to hand a trace to a developer?2 answers✓ · 2021
- First @visual run fails with "A snapshot doesn't exist" and then passes. Bug?2 answers✓ · 2021
- When should a step go in the shared library instead of my project's steps folder?2 answers · 2021
- Project yaml, env yaml, .env, an exported variable and a flag all set the same thing — which one wins?4 answers✓ · 2021
- Healing does nothing — I just get the normal Playwright timeout2 answers✓ · 2021
- Coming from Selenium PageFactory — what replaces @FindBy and initElements?3 answers✓ · 2020
- sdods lint: "Scenario must carry exactly one layer tag" on every scenario I have2 answers✓ · 2020
- Where is a page object supposed to live? Mine is never picked up2 answers✓ · 2020