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");