uiautomatorviewer.jar怎么修改

 我来答
求理解啊ok
2015-01-20 · TA获得超过1193个赞
知道小有建树答主
回答量:739
采纳率:66%
帮助的人:339万
展开全部
今天我学习uiautomator的时候,用dumpWindowHierarchy()获得控件信息的时候,发现这个方法可以得到动态的界面信息。这就弥补了uiautomatorviewer的缺陷。下面把过程给大家贴出来。

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

http://blog.csdn.net/robinzhou/article/details/8447058

我捡主要的将。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%28java.lang.String%29

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

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

http://blog.csdn.net/robinzhou/article/details/8447058

我捡主要的将。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.}

所以,这个方式才是获得控件的最佳方法。
百事牛
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点... 点击进入详情页
本回答由百事牛提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式