一、appium1.7.1 遇到的坑:
1. 在寫安卓的搜索用例腳本時,發現輸入內容后,搜索出現在輸入法鍵盤原來的確認位置,定位不到手機自帶輸入法的"搜索"鍵;
2. 傳入中文搜索,運行顯示亂碼英文字符;
3. 百度類似問題,挺多的,中心思想就是一句:切換appium輸入法到其他的輸入法,比如搜狗,然后切換回來。可是,翻過來翻過去,手機上沒有appium默認的輸入法;
二、解決步驟:
1. 找到appium輸入法的安裝包,我是win10系統,appium安裝時是沒有手動選擇安裝路徑這一步驟的,一般默認安裝在了:C:\Users\***(用戶名)\AppData\Local\Programs\appium-desktop,appium默認輸入法的包在 C:\Users\***(用戶名)\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-ime\bin\UnicodeIME-debug.apk,找到包后,使用adb install 包名給安裝到手機上,設置手機默認輸入法為appium輸入法;
2. 腳本設備參數中,設置如下,然后就可以輸入中文了;
caps['unicodeKeyboard'] = 'True'#使用Unicode編碼方式發送字符串 caps['resetKeyboard'] = 'True'#隱藏鍵盤
3. 解決了中文的問題,再來看輸入法中搜索鍵定位問題了,首先在手機上安裝第三方搜狗輸入法;
4. 在搜索中輸入中文關鍵字的這一步驟后(位置要放對),開始切換輸入法:
import os os.system("adb shell ime set com.sohu.inputmethod.sogou/.SogouIME") # 從默認的appium輸入法 切換到 搜狗輸入法 time.sleep(3) self.driver.press_keycode('66') # 點擊確認位置-搜索鍵 time.sleep(3) os.system("adb shell ime set io.appium.android.ime/.UnicodeIME") # 切換回appium輸入法
再次運行,就沒有問題了。
