appium輸入法踩坑解決方案-----中文亂碼及輸入法搜索無法點擊


一、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輸入法

    再次運行,就沒有問題了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM