当前位置:首页>开发>正文

uiautomatorviewer.jar怎么修改

2023-05-23 01:35:18 互联网 未知 开发

 uiautomatorviewer.jar怎么修改

uiautomatorviewer.jar怎么修改

今天我学习uiautomator的时候,用dumpWindowHierarchy()获得控件信息的时候,发现这个方法可以得到动态的界面信息。这就弥补了uiautomatorviewer的缺陷。下面把过程给大家贴出来。

如何编写java工程文件的信息,前辈们写了很多,我把我学习的连接放给大家。

http://blog.csdn.net/robinzhou/article/details/844705
我捡主要的将。java代码:

view sourceprint?
01.package com.ibm.test
02.
03.import java.io.File
04.
05.import com.android.uiautomator.core.UiDevice
06.import com.android.uiautomator.core.UiObjectNotFoundException
07.import com.android.uiautomator.testrunner.UiAutomatorTestCase
08.
09.public class MyUIauto extends UiAutomatorTestCase {
10.private static final String TAG = "MyUIauto"
11.
12.public void testPressHome() throws UiObjectNotFoundException {
13.File file = new File("/data/local/tmp/local/tmp/qian.xml")
14.UiDevice uiDevice = getUiDevice()
15.//uiDevice.pressHome()
16.String realPath = "qian.xml"
17.uiDevice.dumpWindowHierarchy(realPath)
18.}
19.}

我看了一下dumpWindowHierarchy的方法源码:
view sourceprint?
1.public void [More ...] dumpWindowHierarchy(String fileName) {
2.AccessibilityNodeInfo root = getAutomatorBridge().getQueryController().getAccessibilityRootNode()
3.if(root != null) {
4.AccessibilityNodeInfoDumper.dumpWindowToFile(
5.root, new File(new File(Environment.getDataDirectory(),
6."local/tmp"), fileName))
7.}
8.}

官网上的说明默认目录是/data/local/tmp目录,但从源码上可以看见它又增加了local/tmp目录。合并起来就是/data
/local/tmp/local/tmp目录。这也是我起先随便建立个目录造成的错误的原因,老是报/data/local/tmp/local
/tmp/下无文件的错误。后来找到源码才知道。源码网站给大家:

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.1.2_r1/com/android/uiautomator/core/UiDevice.java#UiDevice.dumpWindowHierarchy(java.lang.String)

所以,这个方式才是获得控件的最佳方法。
今天我学习uiautomator的时候,用dumpWindowHierarchy()获得控件信息的时候,发现这个方法可以得到动态的界面信息。这就弥补了uiautomatorviewer的缺陷。下面把过程给大家贴出来。

如何编写java工程文件的信息,前辈们写了很多,我把我学习的连接放给大家。

http://blog.csdn.net/robinzhou/article/details/844705
我捡主要的将。java代码:

view sourceprint?
01.package com.ibm.test
02.
03.import java.io.File
04.
05.import com.android.uiautomator.core.UiDevice
06.import com.android.uiautomator.core.UiObjectNotFoundException
07.import com.android.uiautomator.testrunner.UiAutomatorTestCase
08.
09.public class MyUIauto extends UiAutomatorTestCase {
10.private static final String TAG = "MyUIauto"
11.
12.public void testPressHome() throws UiObjectNotFoundException {
13.File file = new File("/data/local/tmp/local/tmp/qian.xml")
14.UiDevice uiDevice = getUiDevice()
15.//uiDevice.pressHome()
16.String realPath = "qian.xml"
17.uiDevice.dumpWindowHierarchy(realPath)
18.}
19.}

所以,这个方式才是获得控件的最佳方法。

最新文章