在做APP自动化测试过程中,需要进行元素定位,下面介绍几种Android的原生应用和混合应用辅助定位工具。
1. uiautomatorviewer.bat 定位原生应用
找到安装的adt-bundle下面的uiautomatorviewer.bat,双击打开,也可以发送到桌面快捷方式,方便以后使用。推荐使用这种定位方式。
打开模拟器中的被测APP,点击uiautomatorviewer.bat上的Device Screenshot,就会同步显示APP的页面,当模拟器中APP的页面变化时,再次点击Device Screenshot同步即可。
Android官方的uiautomatorviewer不显示xpath、fullIndexXpath、uiaSelector,则无法用xpath及uiautomator定位。另外resource-id在app页面中不一定是唯一的,可以通过xpath路径来判断resource-id是否唯一。
如果想使用xpath及uiautomator定位的话,需要下载uiautomatorviewer升级工具。
下载之后将所有jar包拷贝到%sdk%/tools\lib目录下,覆盖原来的jar包,再重新启动uiautomatorviewer就可以看到最下面的三个选项了。
注意要拷贝旧的lib文件,防止升级的文件出现问题后无法回退。
2. Appium inspect 定位原生应用
点击Appium中的启动检查器会话,打开模拟器中的APP,填写Appium对应的caps,注意参数后面不要有空格。
点击启动会话,就可以看到Appium上同步的APP页面,模拟器中页面切换的话,点击刷新按钮可以同步页面。
这个工具用的是绝对路径,不能确定元素的唯一性,且经常报错,测试过程中不常用到。
3. chrome inspect 定位APP中的web
工具网址:chrome://inspect/#devices
打开APP中一个web页面,对应的webview就可以出现在devices中,点击inspect就可以看到。
但是可能加载不出来页面。
4. uc-devtools 定位APP中的web
下载uc-devtools,解压安装后,设置本地 Devtools Inspector UI资源。
然后在Home中,点击inspect即可看到html页面元素。
可以参考链接:https://plus.ucweb.com/docs/pwa/docs-zh/xy3whu