【Android测试之Monkey】

源地址:http://developer.android.com/tools/help/monkey.html


monkey 是一个可以在模拟器上或真机上产生伪随机事件流(如点击、触摸、手势等,甚至一定数量的系统级别上的事件),你可以以一种随机但是可重复的方式用monkey来用来做application的压力测试。


Overview

monkey 是一行能产生随机事件的命令,常用来作产品的压力测试。

Monkey 包含了一些选项,分为以下四组策略:

  1. 基本的配置选项,如设定产生随机事件的数目
  2. 操作约束,如约束针对单一包的测试
  3. 事件的类型与频率
  4. 调试选项
Monkey 在运行过程中检测以下几种情况
  1. 如果设置了针对单一或特定包的约束,Monkey机制将观测对于其他包的操作,然后拦截该行为
  2. 应用崩溃或接收到任意类型的unhandled exception,Monkey停止并报告错误
  3. 如果应用程序产生了一个不会针对error进行报告的程式,Monkey停止并报告错误

Basic Use of the Monkey


      你可以通过在开发机上的命令行或者一行脚本来启动Monkey。由于Monkey需要运行在模拟器或真机上,你必须在shell环境中启动它。你需要用 adb shell 来作为前缀来启动Monkey 命令,或者进入到shell环境中,直接使用Mokey命令。

      基本语法格式为:
       
$ adb shell monkey [options] <event-count>

      如果没有【option】,则Monkey将按照默认的方式启动,即对于安装在Android机的所有样本发送随机事件;下面这条命令将会更加典型,这条命令将会启动应用并发送5000个随机事件。

$ adb shell monkey -p your.package.name -v 5000

Command Options Reference
      

                     策略                                                                描述                                                                                              
一般 --help:打印出简单的用户手册
-v:每一个-v都将会增加详细层次。层次0为默认情况,除了提供开始通知、测试完成以及测试最后结果之外几乎不提供其他信息;层次1在应用运行时提供更多的信息,如发送到Activity的个别事件;层次2提供更多的setuo信息,如选择或者不选择Activity来进行测试
事件

-s <seed>:发送值对随机事件产生,当重复输入该值时,将产生与前一次相同的事件序列
--throttle <milliseconds> :在每一个事件之间插入一个设定的延迟时间,如果不甚至的话,随机事件将尽可能快的发送
--pct-touch <percent>:调整 touch 事件的百分比(touch事件为屏幕上一区域上下的事件
--pct-motion <percent>:调整 motion 事件的百分比
--pct-trackball <percent>:调整 trackball 事件的百分比
--pct-nav <percent>:调整基本操作的百分比
--pct-majornav <percent>:调整主要操作的百分比
--pct-syskeys <percent>:调整系统上按键操作的百分比
--pct-appswitch <percent>:调整Activity启动的百分比
--pct-anyevent <percent>:调整其它事件的百分比
约束 -p <allowed-package-name> :如果你只是针对一个或几个特定的包,需要用 -p 来设置,每一个 -p设置一个包,设置之后,将只会针对这些包的Activity发送事件。如果不指定 -p,将会对所有包进行发送事件。
-c <main-category> :如果你限制了策略,则Monkey在访问Activity时将会针对指定的策略进行访问,每一个-c 限制一个策略。
调试 --dbg-no-events :当设定后,Monkey只会进行初始的启动而不会产生随机的发送事件,可以与 -v 命令结合使用,针对一个或多个包进行约束,无条件地让Monkey运行30秒以上,这样为通过调用应用使得包的转换提供了条件
--hprof:设定后,MOnkey 会立即(before Or after 随机事件)产生一分分析报告,会在/data/misc产生文件,针对跟踪文件,可以查看Traceview
--ignore-crashes:在正常情况下,当应用程序崩溃时,Monkey机制会停止;不过设定这个命令后,会一直发送完事件后才完成
--ignore-timeouts:忽略时延
--ignore-security-exceptions:忽略安全权限的限制意外
--kill-process-after-error:正常情况下,当Monkey因出错而退出后,应用程序依然在运行;当设定后,会向系统发送信号终止该应用程序的运行。
--monitor-native-crashes :监测并记录本机故障
--wait-dbg:当一个断点到来时,停止Monkey









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值