Skip to content

workbench e2e: heading locators without exact are ambiguous (Skills matched Source skills) #632

Description

@ScriptedAlchemy

Tagged for #600 (Workbench shell rebuild).

`packages/workbench/tests/packed-release.e2e.test.ts` (pre-#629, line 341) asserted

```ts
page.getByRole('heading', { name: 'Skills' })
```

which is a Playwright strict-mode violation once the Skills page renders its `Source skills` tree heading — Playwright's `name` is a substring, case-insensitive match unless `exact: true`. It failed `Release gates` on #616 (run 33961556212) and passed on re-run, so it surfaced as a flake, not a defect.

#629 removed that page and that locator, so nothing is broken on `main` today. Filing so the rebuilt shell's acceptance tests don't reintroduce the pattern:

  • `getByRole(..., { name, exact: true })` or a `data-testid` (`workbenchTestIds`) for headings whose text is a prefix/substring of another heading on the same page (`Skills` / `Source skills` / `Generated skills`, `MCP` / `MCP App`, …).
  • `workbench-acceptance.ts` is the natural home for a shared `expectHeading(page, name)` that always passes `exact: true`.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    meta-frameworkAgent Bundle compiler-coupled meta-frameworktestingFramework test harnesses and integration evidence

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions