Можно ли смоделировать ярлык OS X для создания акцентированных символов в Capybara?(alt + e, e) - PullRequest
0 голосов
/ 28 января 2019

Мне нужно смоделировать комбинацию из трех клавиш.В OS X, чтобы создать акцент, вы удерживаете нажатой клавишу alt + e, а затем нажимаете букву, которую хотите выделить.

В Capybara send_keys должен сделать это следующим образом: find('body').native.send_keys [:alt, 'e'], 'e'

В этих документах есть даже похожий пример: https://www.rubydoc.info/github/jnicklas/capybara/Capybara%2FNode%2FElement:send_keys

Проблема в том, чтоприведенный выше код приводит к обычному e без акцента.Без второго «е» вообще ничего не происходит.

Разве невозможно моделировать это действие?Должен ли я попробовать использовать JavaScript?

Вы можете проверить find('.gLFyf').native.send_keys [:alt, 'e'], 'e' на главной странице Google.

Для ясности, я не хочу просто отправить é в поле ввода, что не будеттестирование измененного поведения.

1 Ответ

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

К сожалению нет.Поведение <alt-e> e обрабатывается OSX, а не браузером, и Capybara может контролировать только поведение, которое видит браузер.Это означает, что в то время как браузер видит нажатия клавиш, сам OSX не делает никакой замены акцентными символами.Тем не менее, хотя вы не хотите просто отправлять символ, поскольку это системное поведение (а не поведение вашего приложения / веб-сайта), просто отправка é напрямую эквивалентна тестовой программе (в отношении входного содержимого,да, это не будет соответствовать ключевым событиям правильно).

...