Как написать задачу Screenplay для тестирования компонентов React, которые передают состояние клавиатуры как реквизит - PullRequest
0 голосов
/ 04 января 2019

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

Следующее работает и имитирует ситуацию, когда пользователь нажимает, нажимает Ввод , вводит 5 y и нажимает Ввод , но Я хочу также проверить правильность поведения без промежуточного ключа ввода, например, имитировать один клик, щелкнуть, набрать 5 y и нажать Enter

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 Ответ

0 голосов
/ 07 января 2019

Я закончил отладку как моего теста, так и тестируемой веб-страницы - я смог заметить, что для атрибута события клавиатуры key было задано значение «Неопознано», а не «5», как описано здесь

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

...