Agent DX improvement: No locators for layout components — a clickable layout can't be driven

Open
#154 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
64/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
java
Domain
testing-qa

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.

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

Dominant language
Java
Stars
1
Forks
3
Avg merge
2d 22h
Merged PRs (30d)
13

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from vaadin/browserless-test

All issues in vaadin/browserless-test

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.