有没有办法从另一个Android应用程序中获取Android应用程序视图层次结构?

3
我正在研究在设备上运行Android自动化的方法,而不需要任何工作站连接。
我的方法是这样的:我修改了Monkey的源代码,并能够启动第三方应用程序(我没有访问其源代码),我也可以向应用程序发送按键。但是现在我面临另一个问题,我需要访问某些UI元素的属性,例如获取按钮的文本以进行验证。
我如何从我的应用程序中获取系统(或顶部活动)的层次结构?
3个回答

2
不,没有任何方法可以实现这个。

但是adbd是如何实现的呢?据我所知,我可以将HierarchyViewer连接到我的Root设备。我能否使用JNI调用adbd调用的相同方法?在我的情况下,自动化测试仅在Root设备上运行,我认为我已经获得了足够的权限来执行任何操作,除了更改Android系统。 - user1340068

2
这里有一种方法,可以查看Robotium:http://code.google.com/p/robotium/。它是开源的,因此您应该能够了解他们如何做到这一点。您不需要访问目标应用程序的源代码。

看起来不对。Robotium 只能访问同一个应用和测试的应用(它使用 WindowManager 实例来获取视图)。您能具体说明一下它们指的是什么吗? - sandrstar

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接