Generate Playwright integration tests for Vaadin 25 views using the DramaFinder library. Use when the user wants to write IT tests for a Vaadin view, mentions DramaFinder, or asks about Playwright testing in a Vaadin project.
73
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Playwright element wrappers for Vaadin web components
DramaFinder provides typed Java wrappers around Vaadin web components for use with Playwright testing. Each wrapper exposes component-specific APIs for interaction and assertion, following accessibility-first lookup patterns using ARIA roles.
// Find elements by accessible label
TextFieldElement username = TextFieldElement.getByLabel(page, "Username");
ButtonElement submit = ButtonElement.getByText(page, "Submit");
// Interact and assert
username.setValue("john.doe");
username.assertValue("john.doe");
submit.click();The complete public API of every element wrapper (methods, signatures, one-line descriptions) is auto-generated from source into a single file:
Do not download or unzip the DramaFinder jar/sources to find its API — fetch the file above (one request) instead. It is regenerated on every release and cannot drift from the shipped code.
Signatures for every element live in the auto-generated api-reference.md. The files below are hand-written prose docs, kept only for components whose behaviour isn't obvious from the signatures:
Elements are found using accessible names via ARIA roles:
// By label (most common)
TextFieldElement.getByLabel(page, "Email")
ButtonElement.getByText(page, "Save")
SelectElement.getByLabel(page, "Country")
// Scoped lookup within container
TextFieldElement.getByLabel(formLocator, "Name")AriaRole.TEXTBOXAriaRole.SPINBUTTONAriaRole.COMBOBOXAriaRole.BUTTONAriaRole.CHECKBOXAriaRole.RADIOAriaRole.DIALOGAriaRole.LISTBOXAriaRole.MENU, AriaRole.MENUITEMEach element provides assertion methods that auto-retry:
field.assertValue("expected");
field.assertEnabled();
field.assertDisabled();
field.assertRequired();
field.assertInvalid();
dialog.assertOpen();
dialog.assertClosed();Common behaviors are provided via interfaces:
HasInputFieldElement - value get/setHasValidationPropertiesElement - required, invalid, error messageHasEnabledElement - enabled/disabled stateFocusableElement - focus/blur operationsHasThemeElement - theme variant assertionsHasClearButtonElement - clear button clickHasPlaceholderElement - placeholder textHasTooltipElement - tooltip contentHasLabelElement - label textHasHelperElement - helper text# Build with tests
./mvnw clean install
# Run integration tests
./mvnw -B verify --file pom.xml
# Run single IT test
./mvnw -Dit.test=MyViewIT -Pit verifysrc/main/java/org/vaadin/addons/dramafinder/element/src/main/java/org/vaadin/addons/dramafinder/element/shared/src/test/java/**/*IT.java