Невозможно отправить ключ TAB во время теста интеграции Selenium - PullRequest
2 голосов
/ 18 октября 2011

В рамках интеграционного теста Selenium я написал две следующие строки в Ruby, чтобы имитировать ввод адреса электронной почты в текстовое поле и «смещение фокуса»:

  @driver.find_element(:id, "user_email").send_keys "user@example.com"
  @driver.find_element(:id, "some_other_element").click

Вторая строка не достаточно универсальна, потому что some_other_element может быть неизвестен или не существует. Таким образом, я хотел заменить действие нажатия на другой элемент нажатием клавиши TAB:

  @driver.find_element(:id, "user_email").send_keys :tab

Однако, похоже, это не работает, элемент user_email не теряет своего фокуса, как ожидалось. Также замена: вкладка на "\ xEE \ x80 \ x84" не помогает. Кто-нибудь знает, что здесь может быть не так? Как я могу переместить фокус с элемента, не имитируя щелчок где-то еще?

Спасибо за любую помощь,
Dominik

Ответы [ 2 ]

1 голос
/ 18 октября 2011

Я не знаю, как это сделать без симуляции щелчка, но нажатие на <body> сработало для меня.Это решение может быть достаточно общим.

0 голосов
/ 07 апреля 2016

Я думаю, что это должно работать хорошо. Попробуйте.

find('.myselector_name').native.send_keys(:tab)

Ссылка на ответ Как имитировать нажатие клавиши ввода в поле ввода с помощью Capybara и ChromeDriver?

...