KeyboardInput#
- public interface KeyboardInput extends WithWebElement#
New in version 1.1.0.
Интерфейс для классов, поддерживающих пользовательский ввод с клавиатуры.
Интерфейс содержит в себе дефолтные реализации методов, обеспечивающих симуляцию пользовательского печатания на клавиатуре. Таким образом, достаточно имплементировать интерфейс в классе, и его объектам автоматически станут доступны методы-симуляторы.
Methods#
getKeyboardInputWebElement#
- Optional<WebElement> getKeyboardInputWebElement()#
Получить dom-элемент, который будет получать клавиатурную последовательность. Метод нужно переопределить, если требуется использовать dom-элемент, отличный от dom-элемента текущего класса.
- Returns
опциональный dom-элемент или
Optional.empty()
если требуется послать последовательность в dom-элемент window
press#
- void press(CharSequence key)#
Послать последовательное нажатие и отпускание клавиши. Если getKeyboardInputWebElement вернет (
Optional.empty()
), то последовательность пойдет в dom-элемент window.- Parameters
key – клавиша
press#
- void press(KeyboardInput.Shortcut shortcut)#
Послать последовательное нажатие и отпускание горячей клавиши. Если getKeyboardInputWebElement вернет null (
Optional.empty()
}), то последовательность пойдет в dom-элемент window.Метод симулирует следующее поведение пользователя:
Последовательное нажатие мета-клавиш (Alt, Shift, Ctrl) горячей клавиши
Нажатие основной клавиши
Отпускание основной клавиши
Последовательное отпускание мета-клавиш горячей клавиши в порядке, обратном нажиманию
Если требуется смоделировать другую пользовательскую привычку нажатия горячей клавиши, то придется делать это самостоятельно.
- Parameters
shortcut – горячая клавиша
sendKeys#
- void sendKeys(CharSequence... keys)#
Послать в dom-элемент последовательность клавиатурных нажатий. Если getKeyboardInputWebElement вернет
Optional.empty()
, то последовательность пойдет в dom-элемент window. Удобно применять при симуляции набора текста в input-поля и подобные dom-элементы.- Parameters
keys – Клавиатурная последовательность.