Appium 如何为动态屏幕获取UI自动机转储

Appium 如何为动态屏幕获取UI自动机转储,appium,android-uiautomator,Appium,Android Uiautomator,我们正在尝试自动化一个android屏幕,其中有一个进度条,每秒钟更新一次。我们的框架使用adb shell uiautomator dump检索UI转储,以获得UI继承权布局,然后解析xml以采取进一步的操作。我们注意到,对于上面提到的屏幕,我们无法获取转储,并且上面的命令报告了一个错误“无法获取空闲状态” 在同一屏幕上,我们尝试使用appium,appium能够检索UI上的元素。appium如何检索UI Automator无法检索的信息。?在我们的框架中,此时我们不希望将appium集成为工

我们正在尝试自动化一个android屏幕,其中有一个进度条,每秒钟更新一次。我们的框架使用adb shell uiautomator dump检索UI转储,以获得UI继承权布局,然后解析xml以采取进一步的操作。我们注意到,对于上面提到的屏幕,我们无法获取转储,并且上面的命令报告了一个错误“无法获取空闲状态”


在同一屏幕上,我们尝试使用appium,appium能够检索UI上的元素。appium如何检索UI Automator无法检索的信息。?在我们的框架中,此时我们不希望将appium集成为工具,而是希望使用ui自动机转储本身。有没有办法克服这个问题?

问题是Appium有两个Android驱动程序:AndroidDriverUIAutomator2Driver(Android 5+)

第二个是UIAutomator的自定义客户机-服务器实现:

因此,它的字面意思是“Appium不再按原样使用UIAutomator”

谷歌不再支持UIAutomator(上一个版本是),转而支持浓缩咖啡

检查服务器部件的代码,您将了解到使用
UIAutomator 2
Appium会覆盖许多原始
UIAutomator
内容,以解决您所描述的问题以及更多问题。 如果您不想使用Appium,您仍然可以重用UIAutomator2服务器,或者至少在其基础上编写自定义框架并解决原始UiAutomator的问题