如何在Root的手机上开启ViewServer,使得HierachyViewer能够连接实现原理HierarchyViewer:获得当前手机实时的UI信息,方便用于手机的自动化测试;python中的subprocess.Popen():调用系统命令;uiautomator工具:获取界面控件信息;adb命令:对手机进行操作;测试环境1、HierarchyViewer将把下一台Android设备的49
分类:
移动开发 时间:
2020-12-05 10:29:10
阅读次数:
12
上一小节我们描写叙述了HierarchyViewer是怎样组建ADB协议命令来实现ViewServer的port转发的。在port转发设置好后,下一个要做的事情就是去检測目标设备端ViewServer线程是否已经启动起来了。我们进入setupViewServer调用的DeviceBridge的isV ...
分类:
其他好文 时间:
2017-07-30 12:46:42
阅读次数:
166
在初始化HierarchyViewer的实例过程中,HierarchyViewer会调用自己的成员方法setupViewServer来把ViewServer装备好,那么我们这里先看下这种方法: 39 private void setupViewServer() { 40 DeviceBridge.s ...
分类:
其他好文 时间:
2017-07-05 13:38:35
阅读次数:
195
实现原理 Hierarchy Viewer:获得当前手机实时的UI信息,方便用于手机的自动化测试; python中的subprocess.Popen():调用系统命令; uiautomator工具:获取界面控件信息; adb命令:对手机进行操作; 测试环境 1、HierarchyViewer将把下一 ...
分类:
移动开发 时间:
2017-02-02 15:33:08
阅读次数:
231
代码先是发送”LIST”命令到ViewServer列出所有的打开的窗口,然后把每个窗口都保存起来。342行起按照源码的注释解析就是说:从协议版本3以后开始加入了窗口自动更新的功能,但是在此之前,如果用户想要获得一个获得焦点的窗口的话,需要通过显式的创建一个特殊的哈希值为-1的Window实例来完成。...
分类:
其他好文 时间:
2016-01-05 18:48:36
阅读次数:
136
这里获取的版本号有两个,一个是ViewServer自身的版本号,一个是ViewServer当前使用协议的版本号。 我们这里为什么需要获取ViewServer版本以及其协议版本呢?其实主要原因是ViewServer有些功能在老版本上是不支持的,比如HierarchyViewer在列出当前所有Activity窗口的时候,针对获取焦点的窗口会根据不同的ViewServer协议版本而作不同处理,请看源码示...
分类:
其他好文 时间:
2015-12-08 11:39:48
阅读次数:
247
前期准备: 关于什么是Hierarchy Viewer,请查看官方文档:http://developer.android.com/tools/debugging/debugging-ui.html。个人理解:Hierarchy Viewer能获得当前手机实时的UI信息,给界面设计人员和自动化测...
分类:
移动开发 时间:
2015-09-01 11:01:28
阅读次数:
352
前期准备:关于什么是Hierarchy Viewer,请查看官方文档:http://developer.android.com/tools/debugging/debugging-ui.html。个人理解:Hierarchy Viewer能获得当前手机实时的UI信息,给界面设计人员和自动化测试人员带...
分类:
移动开发 时间:
2015-03-05 18:34:31
阅读次数:
178
AUTOLIST
线程阻塞,命令发送后,会等待viewserver反馈结果。viewserver在检测到界面跳转以后才会回馈结果。
private class WindowChangeMonitor implements Runnable {
private IDevice device;
public WindowChangeMonitor(IDevice devi...
分类:
其他好文 时间:
2014-06-05 01:11:43
阅读次数:
213