Unable to connect to adb.Check if adb is installed correctly:使用uiautomatorviewer定位元素報錯

       

       如果你看到了這篇博文,那麼相信你對UI Automator Viewer(UI自動查看器)已經有了一定的瞭解,那麼在此只對該查看器做一個簡單的介紹:

       是什麼UiautomatorviewerAndroid SDK自帶的一個元素定位工具,位於Android SDKtools目錄下。

       能做什麼:當你執行一些操作(比如自動化測試手機QQ軟件時),你需要找到QQ的登錄按鈕然後去點擊它,這時候你可以通過uiautomatorviewer.bat來幫助你找到按鈕,通過編碼的方式去執行點擊操作。

       下面切入正題:使用UI查看器時報錯:Unable to connect to adb.Check if adb is installed correctly

 

1.問題描述:

最近在編一個小的自動化測試腳本(我不是用的appuim,是使用Monkey Script編寫的腳本,一個簡單的測試腳本,沒有去專門做自動化),需要用到元素定位器,打開uiautomatorviewer.bat後,點擊界面上的 快照 按鈕進行截屏時,出現了Unable to connect to adb.Check if adb is installed correctly問題,如下圖:

 

2.發生原因:

      報錯解釋: “不能連接到adb。請檢查adb是否已經正確安裝”。

      很顯然, ui定位器需要連接到adb工具,報錯是因爲沒有檢測到我的電腦中已經安裝了adb工具。其實我已經安裝了,但是沒有檢測到,所以需要將adb工具的路徑和ui查看器關聯起來。

 

3.解決方案:

       方法1:adb工具包存在於Android SDK的platform-tools文件中(如果你下載的sdk是完整版,那麼就不會出現這個問題),但是我從官網下載的Android SDK缺少了platform-tools文件。因此可以這樣解決:

      從網上找到platform-toos文件包(資源鏈接:https://pan.baidu.com/s/1kgoAKMZiUw8_91k-ILoNow   提取碼:3gp7),

      下載後放在android sdk目錄下,並且打開uiautomatorviewer.bat進行編輯(推薦使用Notepad++編輯器,體積小又方便)將此文件的最後一行-Dcom.android.uiautomator.bindir的位置替換爲你電腦上platform-tools的路徑,保存退出即可。如圖:

       方法2:(道理是一樣的)如果你的電腦中已經有了adb的工具包(即你可以在DOS下正常使用adb),不想去下載platform-tools,那麼你可以直接把adb的路徑寫在uiautomatorviewer.bat中即可,方法同上。別忘記保存退出。

PS:

      目前國內從android官網上下載的android sdk一般都缺少部分文件,使用過程中可能會造成這樣那樣的問題,所以還是建議大家找到一個完整的包,避免不必要的麻煩。這裏給出完整,版本Revision 24.4.1,可能有點老,需要自取。

       百度雲鏈接:鏈接:https://pan.baidu.com/s/17EAIqrj6ZIFunPrIzzMkdA

       提取碼:dkdf

如果你做了以上設置後,還報錯:Unexpected error while obtaining UI hierarchy,那麼這個就和adb沒關係了,一般是uiautomatorviewer.bat不支持android 8.0以後的版本,這裏有解決方案:

https://blog.csdn.net/qq_36071547/article/details/103081815

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章