vaadin / vaadin/browserless-test

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

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

Open the contributing guide

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.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.