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