Appium 土方法解決 中文輸入問題(appium 1.3.3後已經支援中文等)
阿新 • • 發佈:2019-02-08
Appium不支援中文,廢了好大的勁都沒搞定。 最後用了個土辦法勉強解決,直接見下封裝好的程式碼:
/** * 輸入中文,並返回 * * @param driver driver * @param text 例如想輸入”中國“則傳值為"zhongguo" * @param by 定位你想獲取文字的控制元件 * @return */ public static String sendText(AndroidDriver driver, String text, By by) { String returnText = null; try { Thread.sleep(2000); Process pro = Runtime.getRuntime().exec("cmd /c adb shell input text " + text); Thread.sleep(1500); Runtime.getRuntime().exec("cmd /c adb shell input keyevent KEYCODE_SPACE"); Thread.sleep(2000); returnText = driver.findElement(by).getText(); } catch (IOException e) { } catch (InterruptedException e) { e.printStackTrace(); } return returnText; }
注意呼叫這個方法時,鍵盤必須設定成預設系統鍵盤,並可以中文輸入的鍵盤。
偶然發現其實已經支援了中文等字元的輸入,
只要在capabilities中增加下列兩項設定就可以:
capabilities.setCapability("unicodeKeyboard", "True");
capabilities.setCapability("resetKeyboard", "True");