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问题,如下图:

Unable to connect to adb.Check if adb is installed correctly:使用uiautomatorviewer定位元素报错_第1张图片

 

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

你可能感兴趣的:(软件测试)