vaadin / vaadin/browserless-test
Agent DX improvement: No locators for layout components — a clickable layout can't be driven
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1
- Forks
- 3
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 51
Description
Problem. browserless-test-shared:1.1.1 ships ~60 locators, including
DivLocator, SpanLocator, ParagraphLocator, AnchorLocator. It ships none
for the layout components: no HorizontalLayout, VerticalLayout, FlexLayout,
FormLayout, Scroller, AppLayout, Board.
That's fine while layouts are only structure — but they aren't always. A card
whose whole body is the click target (no Edit button; HorizontalLayout +
addClickListener + a clickable class) is a normal Flow pattern, and it is
unreachable from the locator API. The test has to mix two APIs:
// Wanted
findHorizontalLayout().withClassName("clickable").click();
// Actual — ComponentQuery + tester, dropping the locator DSL
test($(HorizontalLayout.class).withClassName("clickable").first()).click();
The same card built from a Div works through DivLocator (which is
Clickable and supports withClassName), so the gap is arbitrary from a test
author's point of view.
Ask. Generate locators for the layout components too, with at least
DivLocator parity: withClassName/withText filters, Clickable, and text
access. They're plain Components — no new tester semantics needed.
Copied from https://github.com/vaadin/agentic-dx-improvement/issues/107
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the existing DivLocator API with the layout component classes named in the issue, and review how ComponentQuery is currently used for those components. Add locator coverage for HorizontalLayout, VerticalLayout, FlexLayout, FormLayout, Scroller, AppLayout, and Board with the requested filters, Clickable behavior, and text access; done means clickable layout cards can use the locator DSL without mixing in ComponentQuery.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- testing-qa
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100