最近在整appium自動化的事情,遇到一個虛擬鍵盤的問題,折騰了好幾天解決了,給大家分享一下


需求:最近app改版,一個頁面的搜索輸入框原本是有一個搜索按鈕的,現在取消了,原有的自動化代碼中該按鈕找不到了,不得不使用虛擬鍵盤的搜索鍵來替代。

 

遇到的問題:

​我的代碼中pressKeyCode(AndroidKeyCode.KEYCODE_ENTER)方法執行出現了異常,AndroidKeyCode.KEYCODE_ENTER,AndroidKeyCode.ENTER這兩個鍵值執行的效果變成了長按,導致我的代碼中頁面不停的往下滑動,加載。其他的類似於AndroidKeyCode.KEYCODE_search等按鍵均無法達到輸入搜索的結果。

ps:有可能是app里面的代碼邏輯跟虛擬按鍵有沖突,但是測試下來沒發現什么問題,可能是我開發能力不夠找不到問題所在吧。

 

解決過程:

一開始的時候經過反復嘗試各類鍵值,各種pres以及longpress方法等,均沒有達到預期效果,后面看到網上幾篇帖子的思路,准備拉起虛擬鍵盤來操作按鍵。又發現appium自帶的輸入法沒有虛擬鍵盤,最后只好切換到其他輸入法來操作,然而輸入法的虛擬鍵盤沒有常規的text、content-desc、resourc-id、index等控件屬性,只好通過模擬點擊指定區域坐標來實現。

 

具體實現思路:切換輸入法到手機安裝的搜狗輸入法,拉起虛擬鍵盤,通過點擊屏幕的指定區域坐標來實現點擊“搜索”按鈕的效果,點擊完成只好切回appium自帶輸入法。

 

具體代碼就不貼了。

 

 

 

 

參考文檔如下:

http://blog.sina.com.cn/s/blog_bd6a57440102wm6s.html

http://blog.csdn.net/niubitianping/article/details/52624417


免責聲明!

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



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