Questions tagged ui
Scenarios that drive a browser.
51 questions
Example threads. These questions and answers were written by the SDODS team to document real problems and how to fix them. The people named are illustrative, not real users. Questions asked on this site are marked new.
Six locales times dark and light means twelve env files — is there a per-scenario way?
We ship in six locales and both colour schemes. As far as I can tell the locale and the colour scheme are properties of the environment, so covering the matrix means twelve…
asked by Paulo MendesHow 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 BelkacemOne page object for a five-step wizard, or five? The URL never changes
Onboarding wizard, five panels, and the URL stays /onboarding the whole way through — the panel is swapped client-side and there is no route to address for steps two to five. Two…
asked by Zeynep ArslanSignup verification email — is there any way to assert on an inbox?
Our signup funnel is: register, receive an email, click the link, land verified. I can test the first step and the last step and nothing in between, so the coverage stops exactly…
asked by Zeynep ArslanOAuth 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 RajagopalNo 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 MoreauHow 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 BrackleyOur brand indigo measures 4.47:1 on white — do we have to change the brand?
Audit finding we cannot argue our way out of. The brand colour is an indigo that measures 4.47:1 against white, which is under the line by a hair, and it is used for links, for…
asked by Paulo Mendesnet::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 Nymantoken strategy authenticates my API calls but the browser is signed out
auth.strategy: token with a working token. All the @api scenarios are green. Every @ui scenario starts at the login page. I assumed the token would be placed into the browser…
asked by Devon Marshstrategy: 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 McAllisterOAuth popup during a recording: everything I did in the popup is missing from the spec
Recording a login that goes through our identity provider. The provider opens in a popup, you finish there, the popup closes and the app is signed in. The recorded spec has the…
Healing picked the wrong one of three matching elements and the test still passed
Product grid, several cards, each with an "Add" button. The context on our add-to-basket locator is: The primary broke after a class rename. The healer found three matching…
asked by Devon Marshauth.strategy "custom" needs an auth export in steps/auth.ts, and I wrote one
Our login is a two-step form — email, continue, then password on the next screen — so the four selectors in auth.form do not cover it. Set the strategy to custom and wrote the…
asked by Devon MarshIf we wire an accessibility checker in ourselves, why does everyone insist on human triage?
We accepted that the tag does nothing and we are adding our own step, so we will shortly have a machine-readable list of violations per page. The advice I keep getting is "do not…
asked by Tanvi BhattCart 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 HalabiTagged a scenario @a11y and it went green in four seconds — how do I tell if axe ran?
Added @a11y to two existing scenarios expecting them to get slower and probably to fail, because the pages in question are not good. Both passed, in about the same time as…
asked by Koen VermeulenIs 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…
@skip:safari rejected — how do I skip a scenario on Safari?
The scenario genuinely cannot pass on Safari. The error lists five names and none of them is safari. What am I meant to write?
asked by Sergio Alcaraz--project-matrix or three -b flags? What is the difference in practice?
Our nightly says -b chromium -b firefox -b webkit. I noticed --project-matrix in the flag list and it looks like it does the same thing. Is one of them preferred, and what…
asked by Sergio Alcarazbrowsers: [chromium] in envs/local.yaml does nothing and raises no error
Wanted local runs on chromium only while staging keeps all three, so I put this in envs/local.yaml: No error. sdods run -p demo-shop -e local -l ui --list still lists chromium,…
asked by Kostya PetrovHEAL_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 Vries--headed on the build agent just sits there until the job times out
Someone copied their local command into the pipeline, including --headed, and the job now hangs and is killed at the 60-minute timeout. Removing the flag fixes it, so the…
asked by Fiona McAllisterRecording with --device "iPhone 15" silently ignores my --viewport
The session came up at the iPhone's own size, not 390x900. No warning, no note in the header comment, it just ignored the flag. Bug, or intended?
asked by Fiona McAllisterCan two projects share one page object, or do we copy the file and live with it?
We run two projects against the same design system: same header, same login form, same data grid, different products around them. The login page object is now duplicated in…
asked by Nikhil Sane
More (26)
- Is my baseline being recorded at 2x because the laptop screen is retina?1 answer✓
- Running one scenario without waiting for the whole feature file1 answer✓
- Lint says the accessibility step is undefined, but the step library reference lists it2 answers✓
- My page object needs a signed-in session before goto() — where does the login belong?2 answers✓
- Inherited 900 Cypress specs: what maps to what, and what happens to custom commands?4 answers✓
- Diff flaps between clean and 2% on a page with a fade-in, but animations are disabled2 answers
- First UI run: five scenarios fail on the sign-in page, but the API layer was green4 answers✓
- Chromium downloaded fine but will not launch on a fresh Ubuntu server4 answers✓
- How deep should page objects nest? We are four levels in and it hurts3 answers✓
- When should I reach for the mock step instead of @har, or the other way round?3 answers
- How do you assert on a row in a table without writing a CSS chain?2 answers
- Guide says baselines live under __screenshots__/<browser>/ — mine are in demo-shop--ui--chromium/darwin/3 answers✓
- A header widget appears on six pages — one page object per page, or something else?3 answers✓
- Why does healing never kick in for expectHidden()?3 answers✓
- How do I record a checkout when the app needs me logged in first?1 answer✓
- Unknown route "checkuot" for project demo-shop — where does that list come from?1 answer✓
- First @visual run fails with "A snapshot doesn't exist" and then passes. Bug?2 answers✓
- Scenario tagged @har:products runs green but har/staging is still empty2 answers✓
- Can a scenario be tagged @ui and @api at once? Lint says "found @hybrid @ui @api"2 answers✓
- When should a step go in the shared library instead of my project's steps folder?2 answers
- Layer "ui" is not enabled for project demo-shop — but the features are right there1 answer✓
- lint says Undefined step: Given I am on the checkout page, but the method is right there2 answers✓
- Do -l, -b and -t stack, or does the last one win?2 answers✓
- Coming from Selenium PageFactory — what replaces @FindBy and initElements?3 answers✓
- sdods lint: "Scenario must carry exactly one layer tag" on every scenario I have2 answers✓
- Where is a page object supposed to live? Mine is never picked up2 answers✓