最近一直在做第三方应用遍历的功能,发现appium在遍历到部分页面的时候,在查找定位元素的耗时会出现非常长的情况的,大概的耗时是10s左右。但是这个并不是在所有的app以及很多页面上出现的。
日志信息
从上述的日志可以看出来,通过xpath的查找需要大概10s的时间,而点击的操作需要的时间就更多了大概花了21s的时间。
一旦这个页面的元素非常多的情况,这个页面的遍历时间就需要等待非常长的时间,这个是不能够接受的。
分析
我们知道在appium中真正执行xpath查找以及click的实际上安装在手机上的apk uiautomator2-server。所以关于查找耗时长的问题,我们可以尝试去看下应用的日志信息,看看是否能够得到相应的内容。
果然找到了很有用的信息了。 从上图的日志可以看到,uiautomator2收到findElement command之后,发现他会等待10s的时间等待设备处于空闲的状态。之后才真正的去查找xpath的元素,