DatePickerElement
Playwright element wrapper for <vaadin-date-picker>. Adds convenience methods for LocalDate values and lookup by label.
Component Tag
vaadin-date-picker
Implements
HasInputFieldElement
HasValidationPropertiesElement
HasClearButtonElement
HasPlaceholderElement
HasThemeElement
FocusableElement
HasAriaLabelElement
HasEnabledElement
HasTooltipElement
HasLabelElement
HasHelperElement
Factory Methods
getByLabel (Page)
public static DatePickerElement getByLabel(Page page, String label)
Get the DatePickerElement by its label. Uses ARIA role COMBOBOX.
The accessible label of the field
Returns: The matching DatePickerElement
getByLabel (Locator)
public static DatePickerElement getByLabel(Locator locator, String label)
Get the DatePickerElement by its label within a given scope.
The locator to search within
The accessible label of the field
Returns: The matching DatePickerElement
Constructor
DatePickerElement
public DatePickerElement(Locator locator)
Create a new DatePickerElement.
The locator for the <vaadin-date-picker> element
Methods
setValue (LocalDate)
public void setValue(LocalDate date)
Set the value using a LocalDate formatted as ISO-8601.
setValue (String)
@Override
public void setValue(String value)
Set the value of the input.
Value formatted as in the view (dd/mm/yyyy)
getValueAsLocalDate
public LocalDate getValueAsLocalDate()
Get the current value as a LocalDate.
Returns: The parsed date or null when empty
assertValue (String)
@Override
public void assertValue(String value)
Assert that the input value equals the provided string.
Expected value formatted as in the view (dd/mm/yyyy)
assertValue (LocalDate)
public void assertValue(LocalDate value)
Assert that the value equals the provided date.
Expected LocalDate or null for empty
getAriaLabelLocator
@Override
public Locator getAriaLabelLocator()
Get the locator for ARIA label.
Returns: The input locator
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
Usage Examples
Basic Date Selection
DatePickerElement datePicker = DatePickerElement.getByLabel(page, "Appointment date");
datePicker.assertVisible();
datePicker.assertHelperHasText("Enter the appointment date");
LocalDate testDate = LocalDate.of(2025, 9, 20);
datePicker.setValue(testDate);
datePicker.assertValue(testDate);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate testDate = LocalDate.of(2025, 9, 20);
DatePickerElement datePicker = DatePickerElement.getByLabel(page, "Appointment date");
datePicker.setValue(testDate);
datePicker.assertValue(formatter.format(testDate));
Min/Max Validation
DatePickerElement datePicker = DatePickerElement.getByLabel(page, "Vacation date");
LocalDate today = LocalDate.now();
LocalDate initialDate = today.plusDays(7);
LocalDate maxDate = today.plusDays(30);
datePicker.assertValue(initialDate);
// Valid date within bounds
LocalDate validDate = today.plusDays(15);
datePicker.setValue(validDate);
datePicker.assertValue(validDate);
datePicker.assertValid();
// Invalid date (after max)
LocalDate invalidDate = maxDate.plusDays(1);
datePicker.setValue(invalidDate);
datePicker.assertInvalid();
datePicker.assertErrorMessage("Maximum number of days exceeded.");
// Invalid date (before min)
LocalDate anotherInvalidDate = today.minusDays(1);
datePicker.setValue(anotherInvalidDate);
datePicker.assertInvalid();
datePicker.assertErrorMessage("Minimum number of days exceeded.");
Theme
DatePickerElement datePicker = DatePickerElement.getByLabel(page, "Appointment date");
datePicker.assertVisible();
datePicker.assertTheme("small");
Focus
DatePickerElement datePicker = DatePickerElement.getByLabel(page, "Appointment date");
DatePickerElement secondPicker = DatePickerElement.getByLabel(page, "Vacation date");
datePicker.assertIsFocused();
secondPicker.assertIsNotFocused();
secondPicker.focus();
secondPicker.assertIsFocused();
datePicker.assertIsNotFocused();
ARIA Label
DatePickerElement datePicker = DatePickerElement.getByLabel(page, "Invisible label");
datePicker.assertVisible();
datePicker.assertAriaLabel("Invisible label");
Enabled/Disabled
DatePickerElement datePicker = DatePickerElement.getByLabel(page, "Enabled/Disabled Field");
datePicker.assertDisabled();
page.locator("#enable-disable-button").click();
datePicker.assertEnabled();
DatePickerElement datePicker = DatePickerElement.getByLabel(page, "Appointment date");
datePicker.assertVisible();
datePicker.assertTooltipHasText("Tooltip for datepicker");