java使用monkeyrunner,安卓自动化测试工具MonkeyRunner之使用ID

把前段时间的研究成果记录一下。主要是通过调用应用软件的ID进行操作软件,此操作需要用到以下类和工具:

1、安卓自有目录\tools\hierarchyviewer.bat工具可以用来查看应用程序的ID。

操作hierarchyviewer.bat工具步骤:

(1)、启动安卓模拟器,打开需要查看ID的软件界面。此处以google搜索界面为例。然后双击打开hierarchyviewer.bat,显示搜索界面的activity,即下图左侧被选中的项,表示搜索界面的完整包名。

3d69fe82bd8c4ea00e759978b9061d0e.png

(2)点击Load View Hierarchy按钮,展现该搜索界面的层级图。选中指定的控件,查看ID名称。

2907e03d3c77dda53abe1dbe540e81bb.png

在属性显示区域可以看到各个控件所处的坐标位置,以及可以查看模拟器上任务栏的高度,这些信息可以用于坐标计算中。

2、通过EasyMonkeyDevice类和By类来调用控件ID。

一些常用控件的写法如下:

(1)输入框的ID写法:

easy_device.type(By.id('id/name_text),'zhangsan')

(2)复选框/单选/按钮的ID写法:

easy_device.touch(By.id('id/login_button'),MonkeyDevice.DOWN_AND_UP)

(3)当两个ID名称相同时,可以使用层级进行定位

easy_device.touch(By.id('id/parent_button'),MonkeyDevice.DOWN_AND_UP,By.id('id/current_button'),MonkeyDevice.DOWN_AND_UP)

通过ID进行计算器操作示例calculator.py:

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevicefrom com.android.monkeyrunner.easy import EasyMonkeyDevicefrom com.android.monkeyrunner.easy import Byfrom com.android.chimpchat.hierarchyviewer import HierarchyViewerfrom com.android.hierarchyviewerlib.device import ViewNodedevice = MonkeyRunner.waitForConnection()package = 'com.android.calculator2'activity = 'com.android.calculator2.Calculator'runComponent = package + '/' + activitydevice.startActivity(component=runComponent)MonkeyRunner.sleep(3.0)easy_device = EasyMonkeyDevice(device)  #init easymonkeydevice object must start activity at first.Because the init methodwill getHierarchyViewer();easy_device.touch(By.id('id/digit7'),MonkeyDevice.DOWN_AND_UP)easy_device.touch(By.id('id/mul'),MonkeyDevice.DOWN_AND_UP)easy_device.touch(By.id('id/digit8'),MonkeyDevice.DOWN_AND_UP)easy_device.touch(By.id('id/equal'),MonkeyDevice.DOWN_AND_UP)MonkeyRunner.sleep(1.0)pic = device.takeSnapshot()pic.writeToFile('D:\\monkeyrunner\\result.png','png')print 'test finished!'

3、运行文件模拟计算7*8=56,生成result.png。monkeyrunner   calculator.py

84f37e42271ae12c70ff1192fd6fc241.png

用ID进行参数差不多都是这个思路。但是对于列表、或者弹出框则无法直接通过点击ID操作成功,需要计算ID的坐标。

posted on 2013-07-09 09:56 顺其自然EVO 阅读(722) 评论(0)  编辑  收藏 所属分类: android

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值