2015-11-20 2 views
3

Я пытаюсь автоматизировать мой тест приложения Android на сервере testdroid с использованием клиента Appium Java. Я получаю исключение, которое не удается найти элемент при использовании element.sendKeys в AndroidElement.Appium Android SendKey не работает

AndroidElement element = wd.findElement(By.xpath("//android.widget.LinearLayout[1]" 
       + "/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]" 
       + "/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]" 
       + "/android.widget.EditText[1]")); 
element.click(); 
wd.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
element.sendKeys("Hello World"); 

В приведенном выше коде element.sendKeys бросает исключение

Элемент не может быть расположен

Похоже, он «намекал текст вопроса» из SendKey, но не уверен.

Пожалуйста, предложите мне решение.

ответ

3

Для android вы должны установить возможность «unicodeKeyboard» на «true». Также не забудьте сбросить

capabilities.setCapability("unicodeKeyboard", "true"); 
capabilities.setCapability("resetKeyboard", "true"); 

См http://appium.io/slate/en/v1.3.4/?ruby#android-only

+0

большой, его работу для me.thanks Dhiren. –

+0

@dhiren: Я использую this capability.setCapability ("unicodeKeyboard", "true"); capability.setCapability ("resetKeyboard", "true"); Но проблема в полях, где я хочу ввести значение, как цена или количество, я получил 11 вместо 1 в количестве или 2206 вместо 206 в ценовом поле, это случается в большинстве случаев. – Emna

+0

Это происходит на Mobile или эмуляторе? потому что я попробовал «Hello World» и не снимал «ll»? что такое текстовое поле цены? – Dhiren