Как написать задачу Screenplay для тестирования компонентов React, которые передают состояние клавиатуры как реквизит
Я пытаюсь протестировать поведение компонента ag-grid, который позволяет мне выбрать ячейку, используя клавиатуру или один щелчок, и компонент grid захватывает нажатие клавиши и передает его компоненту редактора, который я написал, как описано здесь.
Следующее работает и имитирует ситуацию, когда пользователь нажимает, нажимает Enter, вводит 5y и нажимает Enter, но я также хочу проверить правильное поведение без промежуточной клавиши ввода, например, имитировать один щелчок, щелчок, ввод 5y и попадания Войти
actor.attemptsTo(
Click.on(cell),
new Performable() {
@Override
public <T extends Actor> void performAs(final T actor) {
pricerPage.withAction().sendKeys(Keys.ENTER).perform();
}
},
Enter.theValue("5y").into(PricerPage.POPUP_TEXT_EDITOR).thenHit(Keys.ENTER)
)
Кажется, я не могу передать нажатие 5 клавиш моему компоненту, как ожидалось, например, следующее не вызывает компонент редактора так же, как отправка Enter.
actor.attemptsTo(
Click.on(cell),
new Performable() {
@Override
public <T extends Actor> void performAs(final T actor) {
pricerPage.withAction().sendKeys("5").perform();
}
},
Enter.theValue("y").into(PricerPage.POPUP_TEXT_EDITOR).thenHit(Keys.ENTER)
)
Есть ли лучший способ отправить ключи без цели или это правильный подход?
1 ответ
Я закончил отладку как моего теста, так и тестируемой веб-страницы - я смог заметить, что событие клавиатуры key
Атрибут был установлен на "Неопознанный", а не "5", как описано здесь
Я предполагаю, что мораль этой истории в том, что ваш пробег может отличаться, если вы пытаетесь автоматизировать использование старых заблокированных версий браузеров...