Как написать задачу 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", как описано здесь

Я предполагаю, что мораль этой истории в том, что ваш пробег может отличаться, если вы пытаетесь автоматизировать использование старых заблокированных версий браузеров...

Другие вопросы по тегам