Android_monkey 压力测试

一、原理与简介

简介:
Monkey程序由Android SDK自带;
存在形式:安卓SDK下的一个monkey.jar
monkey 用的安卓adb shell命令。

什么是adb:
即Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。

原理:
利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件。

二、常用命令

  • [1 ] 参数: -p (包名)
    参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。
  • [2 ] 参数: -v (次数)
    用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数
    -v -v-v -v -v-v 每增加一级-v 增加一级日志级别
    Level0:说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息
    Level1:说明 提供较为详细的日志,包括每个发送到Activity的事件信息
    Level2:说明 最详细的日志,包括了测试中选中/未选中的Activity信息
  • [ 3] --throttle <间隔时间>
    在事件之间插入固定延迟。通过这个选项可以减缓Monkey的执行速度。如果不指定该选项,Monkey将不会被延迟,事件将尽可能快地被产成。一般业内标准是每秒操作2-3次,即:–throttle 300到 --throttle 500
  • [ 4] --help
    使用参数说明
  • [ 5] --pct-touch <百分比>
    调整触摸事件所占随机事件的百分比(记一次 up down)
  • [6 ] --pct-motion <百分比>
    调整动作事件的百分比(记一次down 一系列伪随机移动事件 一次up)
  • [7 ] --pct-trackball <百分比> 不常用
    调整滚动球事件百分比(滚动球事件由一个或多个随机的移动事件组成,有时会伴随着点击事件)
  • [ 8] --pct-nav <百分比>
    调整基本导航事件所占百分比(导航事件由方向输入设备的上下左右按键所触发的事件组成)
  • [9 ] --pct-majornav <百分比>
    调整主要导航事件的百分比。(这些导航事件通常会导致UI界面中的动作事件,如5-way键盘的中间键,回退按键、菜单按键)
  • [10 ] --pct-syskeys <百分比>
    调整系统事件百分比。(这些按键通常由系统保留使用,如Home、Back、Start Call、End Call、音量调节)
  • [ 11] --pct-appswitch <百分比>
    调整Activity启动的百分比。(在随机的时间间隔中,Monkey将执行一个startActivity()调用,作为最大程度覆盖被测包中全部Activity的一种方法)
  • [ 12] --pct-anyevent <百分比>
    调整其他事件的百分比。(这包含所有其他事件,如按键、其他在设备上不常用的按钮等)
  • [ 13] --ignore-crashes
    通常,应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
  • [ 14] --ignore-timeouts
    通常,应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
  • [15 ] --ignore-security-exception
    通常,当程序发生许可错误(例如启动一些需要许可的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
  • [ 16] --kill-process-after-error
    通常,当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。设置此项,将会通知系统停止发生错误的进程。注意,正常(成功)的结束,并没有停止启动的进程,设备只是在结束事件之后简单的保持在最后的状态。
  • [ 17] --monitor-native-crashes
    监视并报告Andorid系统中本地代码的崩溃事件。如果设置–kill-process-after-error,系统将停止运行。
  • [ 18] >> 目录
    保存日志到本地目录

案例:
adb shell monkey -p com.xxx -v --throttle 300 100 >/Users/admin/Desktop/monkey_log.rtf

那么程序monkey 将会对手机上的包名为com.xxx 的应用进行100次每间隔300ms生成一个随机事件的测试,打印基本日志并保存到对应目录下(有打印输出日志目录时终端将不会输出日志);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值