Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法从另一个android应用程序获取android应用程序视图层次结构?_Android_Ui Automation - Fatal编程技术网

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

有没有办法从另一个android应用程序获取android应用程序视图层次结构?,android,ui-automation,Android,Ui Automation,我正在研究在设备上运行android自动化的方法,而不需要任何工作站连接 我的方法是这样的,我修改了monkey的源代码,并且能够启动第三方应用程序(我没有源代码访问权限),我也可以将击键发送到应用程序。但现在我面临另一个问题,我需要一些ui元素的访问属性,例如获取按钮的文本以进行验证 如何从我的应用程序中获取系统(或顶级活动)的层次结构?不,没有办法做到这一点。有办法,请查看Robotium: 它是开源的,所以您应该能够查看他们是如何做到这一点的 您不需要访问目标应用程序的源。首先,我将用以下

我正在研究在设备上运行android自动化的方法,而不需要任何工作站连接

我的方法是这样的,我修改了monkey的源代码,并且能够启动第三方应用程序(我没有源代码访问权限),我也可以将击键发送到应用程序。但现在我面临另一个问题,我需要一些ui元素的访问属性,例如获取按钮的文本以进行验证


如何从我的应用程序中获取系统(或顶级活动)的层次结构?

不,没有办法做到这一点。

有办法,请查看Robotium: 它是开源的,所以您应该能够查看他们是如何做到这一点的


您不需要访问目标应用程序的源。

首先,我将用以下内容查看层次结构:

然后使用Accessibility类编写代码来访问它。

但adbd是如何做到这一点的?据我所知,我可以将hierarchyviewer连接到我的根设备。我可以使用JNI调用相同的方法adbd调用吗?在我的场景中,自动化测试只在根设备上运行,我想我有足够的权限做任何事情,除了修改android系统。看起来这是不对的。Robotium只能访问相同的应用程序和测试中的应用程序(它使用WindowManager实例获取视图)。你能具体说明“他们做什么”吗?