如何在Root的手机上开启ViewServer,使得HierachyViewer能够连接

本文介绍了一种使用HierarchyViewer、uiautomator等工具实现的安卓UI自动化测试方案。该方案利用python的subprocess模块调用adb命令来控制手机,并通过特定端口映射和viewserver服务实现对手机UI的实时获取及操作。

实现原理

Hierarchy Viewer:获得当前手机实时的UI信息,方便用于手机的自动化测试;

python中的subprocess.Popen():调用系统命令;

uiautomator工具:获取界面控件信息;

adb命令:对手机进行操作;

 

测试环境

1、HierarchyViewer将把下一台Android设备的4939端口映射到PC的4939端口

adb devices  查看手机设备号

adb -s 手机设备号 forward tcp:4939 tcp:4939

2、判断手机是否开启了view server,如果没开启则开启

adb -s 手机设备号 shell service call window 3  

通过返回值查看

"Result: Parcel(00000000 00000000 '........')  --没开

"Result: Parcel(00000000 00000001 '........')  --开启

开启view server

adb -s 手机设备号 shell service call window 1 i32 4939

关闭 view server

adb -s 手机设备号 shell service call window 2 i32 4939

说明:只有模拟器或者root手机才可以开启view service,实际操作过程中发现root手机开启view service 并非命令可完成,故先行使用模拟器进行测试

关于真机开启参考下面链接:刷成砖机概不负责

http://maider.blog.sohu.com/255448342.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值