Я использую Cucumber и Selenium, чтобы проверить ввод текста в contenteditable div. (Википедия нового VisualEditor, если вам интересно.)Могу ли я использовать send_keys Selenium или какую-либо другую функцию для отправки фактических ключей, а не символов?
Это как текущий код выглядит более или менее:
When(/^I type (.+)$/) do |text|
on(VisualEditorPage).content_element.send_keys(text)
end
Я хотел бы, чтобы проверить, не просто набрав строки, но для тестирования фактические клавиши клавиатуры. Причина, по которой мне нужно сделать это, это то, что я хочу протестировать типизацию на разных языках и различные раскладки клавиатуры. Английская клавиатура имеет простое взаимно однозначное сопоставление между клавишами и символами, но это не относится ко всем клавиатурам; Японский язык - очень экстремальный пример - там набираются некоторые латинские буквы, а затем они преобразуются в список возможных японских написаний, из которых пользователи могут выбрать нужную вещь. Тестирование этого путем простого использования send_keys с японскими символами пропускает точку, потому что это не то, что на самом деле делает конечный пользователь.
В более простом сценарии я хочу проверить нажатие клавиш при включении раскладки клавиатуры бирманского или сингальского языка и проверить правильность текста результата; просто вставка целой строки невелика, потому что раскладка клавиатуры переупорядочивает символы при наборе текста в соответствии с интеллектуальными правилами.
Итак - есть ли что-нибудь в Selenium, которое позволяет это? Вместо чего-то вроде send_keys 'abc'
сделать что-то вроде send_keys :a_key, :b_key, :c_key
?
Спасибо!