在学习和使用AndroidADT的时候,元素定位都会使用tools包下面自带工具uiautomatorviewer,但很多时候元素并没有text和id,只有class。但是,大家都知道class很多时候不是唯一属性,要通过class_Name()的方式来定位,返回的往往是第一个,这根本不是自己想要的。有些人会考虑使用driver.find_elements_by的这种方法来获取所有相同的class的对象,但这样用起来很麻烦,那怎么通过工具来获取xpath呢?
如上图,根本找不到xpath,这里就提供一个方法来就地解决这个问题,还是使用uiautomatorviewer.bat
1. 第一步:
下载lazyuiautomatorviewer.jar文件 ,
下载地址:https://github.com/lazytestteam/lazyuiautomatorviewer/blob/master/uiautomatorviewer.jar
注意,虽然这里是下载的lazyuiautomatorviewer,但下载后会发现包名是uiautomatorviewer.jar
2. 第二步:
打开AndroidADT\sdk\tools\lib,将下载好的uiautomatorviewer.jar替换掉自带的uiautomatorviewer.jar
请注意,lazyuiautomatorviewer.jar包大小为11.1Mb或11.07Mb,为了防止意外,请先copy一份原uiautomatorviewer.jar到其他地方。
3 . 第三步:
在AndroidADT\sdk\tools\下运行uiautomatorviewer.bat,等待启动界面,但这里会出现闪退的情况,一般来说都和你的jdk版本有直接的关系,建议使用jdk7或jdk8.
jdk下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html
4. 第四步:
安装完成jdk后,启动uiautomatorviewer.bat,再来看看吧:
希望大家都能成功!