SelectElement
Playwright element wrapper for <vaadin-select>. Provides helpers to open the overlay and pick items by visible text, along with aria/placeholder/validation mixins.
Component Tag
vaadin-select
Implements
FocusableElement
HasAriaLabelElement
HasInputFieldElement
HasPrefixElement
HasThemeElement
HasPlaceholderElement
HasEnabledElement
HasTooltipElement
HasValidationPropertiesElement
Factory Methods
getByLabel
public static SelectElement getByLabel(Page page, String label)
Get the SelectElement by its label. Uses ARIA role BUTTON.
The accessible label of the field
Returns: The matching SelectElement
Constructor
SelectElement
public SelectElement(Locator locator)
Create a new SelectElement.
The locator for the <vaadin-select> element
Methods
selectItem
public void selectItem(String item)
Select an item by its visible label.
Label of the item to select
getValue
@Override
public String getValue()
Get the selected value label for single-select.
Returns: The label of the selected value
getAriaLabel
@Override
public String getAriaLabel()
Get the ARIA label text.
Returns: The ARIA label or null if not set
assertAriaLabel
@Override
public void assertAriaLabel(String ariaLabel)
Assert the ARIA label text.
Expected ARIA label, or null to assert it’s hidden
assertPlaceholder
@Override
public void assertPlaceholder(String placeholder)
Assert the placeholder text.
Expected placeholder text
assertValue
@Override
public void assertValue(String expected)
Assert the selected value label equals the expected string.
Expected label or empty for no selection
@Override
public Locator getInputLocator()
Get the locator for the value slot element.
Returns: Locator for the input element
getAriaLabelLocator
@Override
public Locator getAriaLabelLocator()
Get the locator for the sr-label slot.
Returns: Locator for the ARIA label element
getFocusLocator
@Override
public Locator getFocusLocator()
Get the locator to use for focus operations.
Returns: The input locator
getEnabledLocator
@Override
public Locator getEnabledLocator()
Get the locator to use for enabled/disabled checks.
Returns: The input locator
getLabelLocator
@Override
public Locator getLabelLocator()
Get the locator for the label slot.
Returns: Locator for the label element
Usage Examples
Basic Selection
SelectElement select = SelectElement.getByLabel(page, "Sort by");
select.assertVisible();
select.assertValue(null);
select.selectItem("Rating: high to low");
select.assertValue("Rating: high to low");
Validation
SelectElement select = SelectElement.getByLabel(page, "Select with theme");
select.assertValue(null);
select.assertValid();
ButtonElement.getByText(page, "Validate").click();
select.assertInvalid();
assertThat(select.getErrorMessageLocator()).hasText("Required field");
Placeholder
SelectElement select = SelectElement.getByLabel(page, "Select with placeholder and clear button");
select.assertVisible();
select.assertPlaceholder("Enter text here");
assertEquals("Enter text here", select.getPlaceholder());
Prefix
SelectElement select = SelectElement.getByLabel(page, "Sort by");
assertThat(select.getPrefixLocator()).isVisible();
assertThat(select.getPrefixLocator()).hasText("Prefix");
select.assertPrefixHasText("Prefix");
assertEquals("Prefix", select.getPrefixText());
Focus and Enabled State
SelectElement select = SelectElement.getByLabel(page, "Sort by");
select.assertIsFocused();
SelectElement disabledSelect = SelectElement.getByLabel(page, "Enabled/Disabled Field");
disabledSelect.assertDisabled();
page.locator("#enable-disable-button").click();
disabledSelect.assertEnabled();
ARIA Label
SelectElement select = SelectElement.getByLabel(page, "Invisible label");
select.assertVisible();
select.assertAriaLabel("Invisible label");
SelectElement select = SelectElement.getByLabel(page, "Sort by");
select.assertVisible();
select.assertTooltipHasText("Tooltip for select");