TimePickerElement
Playwright element wrapper for <vaadin-time-picker>. Adds convenience methods for LocalTime values and lookup by label.
Component Tag
vaadin-time-picker
Implements
HasInputFieldElement
HasValidationPropertiesElement
HasClearButtonElement
HasPlaceholderElement
HasThemeElement
FocusableElement
HasAriaLabelElement
HasEnabledElement
HasTooltipElement
HasLabelElement
HasHelperElement
Factory Methods
getByLabel (Page)
public static TimePickerElement getByLabel(Page page, String label)
Get the TimePickerElement by its label. Uses ARIA role COMBOBOX.
The accessible label of the field
Returns: The matching TimePickerElement
getByLabel (Locator)
public static TimePickerElement getByLabel(Locator locator, String label)
Get the TimePickerElement by its label within a given scope.
The locator to search within
The accessible label of the field
Returns: The matching TimePickerElement
Constructor
TimePickerElement
public TimePickerElement(Locator locator)
Create a new TimePickerElement.
The locator for the <vaadin-time-picker> element
Methods
setValue (LocalTime)
public void setValue(LocalTime time)
Set the value using a LocalTime formatted as HH:mm.
getValueAsLocalTime
public LocalTime getValueAsLocalTime()
Get the current value as a LocalTime.
Returns: The parsed time or null when empty
assertValue (LocalTime)
public void assertValue(LocalTime value)
Assert that the value equals the provided time.
Expected LocalTime 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 Time Selection
TimePickerElement timePicker = TimePickerElement.getByLabel(page, "Appointment time");
timePicker.assertVisible();
timePicker.assertHelperHasText("Enter the appointment time");
LocalTime testTime = LocalTime.of(14, 30);
timePicker.setValue(testTime);
timePicker.assertValue("14:30");
timePicker.assertValue(testTime);
Min/Max/Step Validation
TimePickerElement timePicker = TimePickerElement.getByLabel(page, "Meeting time");
LocalTime initialTime = LocalTime.of(10, 30);
LocalTime minTime = LocalTime.of(9, 0);
LocalTime maxTime = LocalTime.of(17, 0);
// Check initial value
timePicker.assertValue(initialTime);
// Valid time within bounds
LocalTime validTime = LocalTime.of(11, 0);
timePicker.setValue(validTime);
timePicker.assertValue(validTime);
timePicker.assertValid();
// Invalid time (after max)
LocalTime invalidTime = maxTime.plusHours(1);
timePicker.setValue(invalidTime);
timePicker.assertInvalid();
timePicker.assertErrorMessage("Maximum time exceeded");
// Invalid time (before min)
LocalTime anotherInvalidTime = minTime.minusHours(1);
timePicker.setValue(anotherInvalidTime);
timePicker.assertInvalid();
timePicker.assertErrorMessage("Minimum time exceeded");
// Set valid value again
timePicker.setValue(initialTime);
timePicker.assertValid();
Theme
TimePickerElement timePicker = TimePickerElement.getByLabel(page, "Appointment time");
timePicker.assertVisible();
timePicker.assertTheme("small");
Focus
TimePickerElement timePicker = TimePickerElement.getByLabel(page, "Appointment time");
TimePickerElement secondPicker = TimePickerElement.getByLabel(page, "Meeting time");
timePicker.assertIsFocused();
secondPicker.assertIsNotFocused();
secondPicker.focus();
secondPicker.assertIsFocused();
timePicker.assertIsNotFocused();
ARIA Label
TimePickerElement timePicker = TimePickerElement.getByLabel(page, "Invisible label");
timePicker.assertVisible();
timePicker.assertAriaLabel("Invisible label");
Enabled/Disabled
TimePickerElement timePicker = TimePickerElement.getByLabel(page, "Enabled/Disabled Field");
timePicker.assertDisabled();
page.locator("#enable-disable-button").click();
timePicker.assertEnabled();
TimePickerElement timePicker = TimePickerElement.getByLabel(page, "Appointment time");
timePicker.assertVisible();
timePicker.assertTooltipHasText("Tooltip for component");