monkey测试的相关的原理
monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件。
参数: -p
参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。如:
* 指定一个包: adb shell monkey -p com.example.sellclientapp 100 说明:com.example.sellClientAPP 为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。
*指定多个包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader -p com.htc.photo.widgets 100
参数: -v
用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:
Level0(默认),除了启动、测试完成和最终结果外只提供较少的信息。 -v
Level1,提供了较为详细的测试信息,如逐个发送到Activity的事件信息。-v -v
Level2,提供了更多的设置信息,如测试中选中或未选中的Activity信息 -v -v -v
参数:-s <seed>
作用:伪随机数生成器的seed值。如果用相同的seed值再次运行monkey,将生成相同的事件序列。如:
adb shell monkey -s 12345 -v 10
参数:--throttle <milliseconds>
在事件之间插入固定的时间(毫秒)延迟,你可以使用这个设置来减缓Monkey的运行速度,如果你不指定这个参数,则事件之间将没有延迟,事件将以最快的速度生成。
adb shell monkey --throttle 300 -v 10 (常用参数,一般设置为300毫秒,原因是实际用户操作的最快300毫秒左右一个动作事件,所以此处一般设置为300毫秒)
参数:--ignore-crashes
应用发生崩溃或异常时Monkey会停止运行。如果设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
应用程序发生任何超时错误(如“Application Not responding”对话框)Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
参数:--ignore-security-exception
当程序发生许可错误(例如启动一些需要许可的Activity)导致的异常时,Monkey将停止运行。设置此项,Monkey将继续发送事件给系统,直到事件计数完成。
参数:--kill-process-after-error
当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。设置此项,将会通知系统停止发生错误的进程。注意,正常(成功)的结束,并没有停止启动的进程,设备只是在结束事件之后简单的保持在最后的状态。