在做安卓UI自动化的时候,大家最常用的方法就是用sdk自带的uiautomatorviewer进行控件的定位,如果没有找到基本,就可能停留在做不到或者用图像识别等方式定位了~ 也有可能有人用了adb shell dump 来获取xml布局,发现也没有获取到相应控件。好了,先不普讲知识点了,直接用案例,自己理解吧~ 首先在做安卓ui自动化的时候,遇到这个wap页面
本想简单的定位下通过uiautomatorviewer进行定位,哪知道一打开
姓名是无法定位了,那用adb shell uiautomator dump 生成xml文件,在adb pull 出来,查看xml文件,发现也无法定位到。 接下来就用下业内大家都很喜欢用的web-editor,这个开源工具确实很好用,但如果要跑appium自动化的时候,记得把手机上的ATX这个apk删除掉,不然会影响你的自动化测试。 web-editorgithub地址:https://github.com/alibaba/web-editor,有需要的自行安装。 我用weditor打开后,页面获取显示是这样
是可以定位到的,很神奇吧~ 除了这个方法,你还可以问下前端开发,让他把布局发出来
是否有配置id,如果没有可以让他加上~ 以上就是一个关于UI wap页面元素定位。最全的安卓UI定位方法了。我建议大家安装使用web-editor进行控件的定位查找,没有找到可以找开发协商解决~,然后在配合下appium就完美了,另外再结尾在送个知识彩蛋,如果你遇到appium在动态定位慢或者定位不到的话,动态定位意思就是在视频页面或者页面高速刷新的情况,可以把waitForIdleTimeout 这个值设置为0.具体原理就不讲了,可以百度~