Селен 2 — сбой сервера Android при попытке отправить ключи в поле

#android #webdriver #selenium-webdriver

#Android #webdriver #selenium-webdriver

Вопрос:

Я использую WebDriver Selenium-dotnet-2.11.0 и Android server 2.11.0. Тесты выполняются NUnit.

Это хорошо работает для навигации по веб-страницам и элементам щелчка. Однако, когда я пытаюсь ввести значение в поле (SendKeys), приложение .apk на устройстве (оно же Selenium-server) выходит из строя из-за неизвестной ошибки.

Я использую реальное устройство HTC Desire Z1 (с выдвижной клавиатурой).

Фрагмент кода, который приводит к сбою, является:

 IWebElement _element;

_element = _driver.FindElement(By.Id("loginEmail"));
string username = ConfigurationManager.AppSettings[ConfigurationManager.AppSettings["Environment"]   "Username"];
_element.SendKeys(username);
  

имя пользователя получено правильно и не содержит никаких специальных символов, кроме ‘@’, но я проверил, что это не вызывает проблемы.

Журнал отладки устройства показывает следующую ошибку:

 11-04 12:10:24.619: I/dalvikvm(3941): Could not find method android.view.KeyEvent.normalizeMetaState, referenced from method org.openqa.selenium.android.EventSender$2.run
11-04 12:10:24.619: W/dalvikvm(3941): VFY: unable to resolve static method 51: Landroid/view/KeyEvent;.normalizeMetaState (I)I
11-04 12:10:24.629: W/dalvikvm(3941): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
11-04 12:10:24.649: E/AndroidRuntime(3941): FATAL EXCEPTION: main
  

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

Ответ №1:

У меня была такая же проблема. Я просто обновляю Android server apk 2.1.3, и send_keys работает нормально.