android自动化测试之monkeyrunner中touch参数坐标的获取方法

方法一、通过photoshop来获取

由于现在太菜,所以我采用土办法。即通过命令:

	result=d.takeSnapshot()
	result.writeToFile('shot1.png','png')

在需要知道控件坐标的界面中,通过上述命令进行截图。然后通过photoshop,划一个矩形,就可知道坐标了。用这办法试了很多次,非常OK。

方法二、通过hierarchyviewer工具来获取

在网上查找资料时,无意发现了实用工具“hierarchyviewer”,经过测试,可获取应用程序中的坐标。特做此记录,以飨关注本人博客的盆友。

在此我以notepad为例,目的是由monkeyrunner来执行一个python脚本,自动创建一个notes,根据实际操作,进入notepad后,需要按menu键,在程序下端会出现“ADD NOTE”控件,如下图所示:

点击后进行编辑内容,退出后即可生成一个note。现在的情况是,由脚本来执行这些内容,我要确定“Add note”这个控件的x、y的坐标,只有知道坐标,我才可以通过命令在该坐标上模拟触摸(点击)操作并进入下一环节。获取坐标,上面已经说过了一个笨方法。现在我们就通过实用工作“hierarchyviewer”来实现吧。这个工具在sdk/tools/目录下面,是一个批处理文件。

1、首先使用模拟器启用程序。

我是在CMD中通过命令启动模拟器。

命令:emulator -avd test (注意:test为虚拟设备的名称——AVD的全称为:Android Virtual Device,就是Android运行的虚拟设备,如下图所示:)

 

2、启动成功后,执行notepad,并进入到上图所显示的界面中(方法是执行notepad后,点击左边的menu键即可),为什么要进入这个界面?那是因为我要知道“”这个图在界面中的位置。

3、在cmd中执行命令:hierarchyviewer,执行后如下图所示:

选择上面粗体字体显示的一行,然后点击“Inspect Screenshot”按钮,稍等一会,则会进入以下界面:

鼠标点击最右边图中你想要知道坐标的位置,中间部分,如上图的红色区域中,就会显示你点击位置所在的坐标。OK,这就搞定了。

注意:hierarchyviewer 工具只能在虚拟设备上运行。在真实设备中(比如手机),如果没有root权限则无效。

参考:You will need to unlock bootloader and root the device. Running hierarchyViewer along totally worth the time.

 有关hierarchyviewer工具的使用方法,请访问:http://blog.csdn.net/zm2714/article/details/7985000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值