Android自动化测试------monkeyrunner(六)

monkeyrunner

1.简介

monkeyrunner即android SDK中自带的工具之一,此工具提供API可按制android设备或模拟器。

monkeyrunner提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。

monkeyrunner工具的主要目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。

monkeyrunner路径:Android SDK\tools

2.Monkeyrunner工具特性

多设备控制:monkeyrunner API可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。

功能测试:monkeyrunner可以为一个应用自动化功能测试。为您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。

回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。

可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunner API之外,您还可以使用标准的Python os和subprocess模块来调用如adb这样的Android工具。

3.Monkeyrunner工具同Monkey工具的差别

Monkey:Monkey工具直接运行在设备或模拟器的adb shell中,生成用户或系统的伪随机事件流。

Monkeyrunner:Monkeyrunner工具是在工作站上通过API定义的特定命令和事件控制设备或模拟器。

4.MonkeyRunner API

MonkeyRunner工具主要有3个类:

1.MonkeyRunner

2.MonkeyDevice

3.MonkeyImage

4.1MonkeyRunner类

monkeyrunner提供连接真机和模拟器,输入,暂停,警告框等方法。

alert():警告框

choice():选项列表框

help():API帮助文档

input():输入

sleep():暂停

waitForConnection():等待设备连接

常用方法:

waitForConnection(float timeout,string deviceID)

float timeout:等待时间(超过等待时间会超时)

string deviceID:设备的ID

4.2 MonkeyDevice类

MonkeyDevice类提供了安装和卸载程序包,开启Activity,发生按键和点击事件,运行测试包等方法

broadcastIntent():发送广播

drag():拖动

getProperty():获取当前设备属性

getSystemProperty():获取当前设备属性

installPackage():安装应用

instrument():执行测试用例

press():按键

reboot():重启

removePackage():删除指定Package

shell():执行命令

startActivity():启动应用

touch():点击

常用方法:

installPackage(string path)

removePackage(string package)

startActivity()

touch(integer x,interger y,interger type)

touch参数说明:

integer x:x坐标值

interger y:y坐标值

 

posted @ 2019-10-17 16:57  xxy会飞的鱼  阅读(173)  评论(0编辑  收藏  举报