1、monkey:一款通过命令行来对我们APP进行测试的工具,可以运行在模拟器里或真机上。它向系统发送伪随机的用户事件流,模拟用户操作,实现对正应用程序进行压力测试。
三个事件:动作事件、点击、拖拽
重点:坐标的获取
缺点:坐标不变,但是实际位置可变,这对于测试带来困扰
2、
monkeyrunner:androidSDK中自带的工具之一,此工具提供API可按制android设备或模拟器。monkeyrunner提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。
三个API:MonkeyRunner API:MonkeyRunner.waitForConnection()等待连接
MonkeyRunner.sleep(8) 等待8秒
MonkeyRunner.alert(message,title,okTitle) PC端弹框
MonkeyRunner.input(message,..) PC端输入
MonkeyRunner.choice(message,choices,title)PC端选择
MonkeyRunner.installPackage(path) 安装apk
MonkeyDevice API:touch(x,y,type) 点击事件
type(message) 输入字符串
drag(start,end,duration,steps) 拖拽事件
takeSnapShot() 截屏
MonkeyImage API:writeToFile(path,format) 保存截屏的图片
getSubImage(rect) 从截取的图像中截取某一块图像
picture1.sameAs(picture1,percent) 两张截图的图片做出对比
3、比较:
(1) monkey:较难支持插件编写;无截屏功能;对数据流控制能力弱;无法完成录制功能。
(2)对于PC端弹出框的处理:monkey无任何api,monkeyrunner有(提示框:MonkeyRunner.alert();输入框:MonkeyRunner.input();选项:MonkeyRunner.choice())。
(3)对于设备的连接安装和卸载等操作,monkey无命令,monkeyrunner有。
(4)重启、唤醒、获取设备等操作,monkey无命令,monkeyrunner有
(5)对于图像处理:monkey无命令,monkeyrunner有(takeSnapshot()截图;writeTpFile()保存为图片)
(6)对于图像的截取和对比:monkey无命令,monkeyrunner有(getSubImage()截取当前界面的图像;picture1.sameAs(picture2,1.0)对比图像)
(7)对于获取像素值、格式转换:monkey无命令,monkeyrunner有(格式转换convertToBytes( )
(8)命令、用例、广播:monkey无命令,monkeyrunner有