2015-11-20 94 views
3

我想在使用Appium Java客戶端的testdroid服務器上自動化我的android應用程序測試。我在AndroidElement上使用element.sendKeys時無法定位元素。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:我使用這個capabilities.setCapability(「unicodeKeyboard」,「true」); capabilities.setCapability(「resetKeyboard」,「true」); 但是,在我想要輸入價格或數量等字段的問題中,我在數量上獲得了11而不是1,或者在價格字段中獲得了2206而不是206,這在大多數情況下都會發生。 – Emna

+0

它發生在手機還是模擬器上?因爲我試過「Hello World」,並沒有剝離「ll」?什麼是價格字段的文本類型? – Dhiren