1. 程式人生 > >Appium 土方法解決 中文輸入問題(appium 1.3.3後已經支援中文等)

Appium 土方法解決 中文輸入問題(appium 1.3.3後已經支援中文等)

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