一:monkey的用途:主要用于稳定性测试,模拟用户操作
二、monkey的基本使用
monkey文档地址:"<android_sdk>/docs/tools/help/monkey.html>"
官网地址:http://developer.android.com/tools/help/monkey.html
monkey可以运行在模拟器上或实际设备中,它向系统发送伪随机事件流(如按键输入、触屏输入和手势输入),并对应用程序进行压力测试
两个步骤:
(1).进入abd shell
注意:若没有adb程序,下载adb程序;配置环境变量,用户环境变量里双击path,,把adb.exe路径添加进去;CMD命令,输入adb shell,运行后显示#,表示运行正常
(2)."/system/bin"路径下monkey脚本
用如下命令:
abd shell
cd/system/bin
monkey
三、参数
(1)<event-count>随机发送事件数
注意:<event-count>是事件数而不是随机数,只有当monkey传入脚本时,该值才是循环次数
(2)[option]可传入的参数
分类:常规类、事件类、约束类、调试类
常规类:
(3)adb shell monkey -h 显示monkey参数帮助信息
(4) -v:打印日志信息(log),每个-v增加反馈信息的级别,-v越多日志信息越详细,不过最多只能支持3个-v
如:adb shell monkey -v<event-count>
事件类:
(5) -f:后接脚本名,表示monkey运行的monkey脚本
如:adb shell monkey -f /mnt/sdcard/test 1
(6) -s:后接随机数生成器的seed值
如:adb shell monkey -s <seed> <event-count>
(7) --throttle:后面接时间,单位为ms,表示事件之间的固定延迟,若不接该选项,monkey将不会延迟
如:adb shell monkey --throttle <milliseconds>
(8) --ptc-touch:后面接触摸事件百分比(触摸事件不单单是按键,它泛指发生在某一位置的一个down-up)
如:adb shell monkey --ptc-touch<percent>
(9) --ptc-motion:后面接动作事件百分比(动作事件不单单是指手势操作,它泛指从某一位置按下,即down事件;后经过一系列伪随机事件后弹起,即up事件)
如:adb shell monkey --ptc-motion<percent>
(10) --ptc-trackball:后面接轨迹球事件百分比(轨迹球事件包括一系列的随机移动,以及偶尔随在移动后面的点击事件)
如:adb shell monkey --ptc-trackball<percent>
(11) --ptc-nav:后面接基本导航事件百分比(基本导航指设备中的上、下、左、右事件)
如:adb shell monkey --ptc-nav<percent>
(12) --ptc-majornav:后面接主要导航事件百分比(键盘中间按键、返回按键、菜单按键)
如:adb shell monkey --ptc-majornav<percent>
(13) --ptc-syskeys:后面接系统按键事件百分比(系统使用的保留按键,如:HOME键、BACK键、拨号键、挂断键、音量键)
如:adb shell monkey --ptc-syskeys<percent>
(14) --ptc-appswich:后面接应用启动事件百分比(打开应用,通过调用startactivity()方法最大限度地开启pacage下的素有应用)
如:adb shell monkey --ptc-appswich<percent>
(15) --ptc-anyevent:后面接其他类型事件百分比(keypress,不常用的button)
如:adb shell monkey --ptc-anyevent<percent>
约束类:
(16)-p:后面接一个或者多个包名
如:
1.adb shell monkey -p<allowed-package-name><event-count>
2.adb shell monkey -p com.xuben.test.settings 1000
(17) -c:后面接一个或者多个类别中
如:adb shell monkey -c<main-category><event-count>
调试类:
(18)--dbg-no-events:在设置此选项后,monkey将进行初始启动
如:adb shell monkey --dbg-no-events<event-count>
(19)--hprof:在设置选项后,将在monkey事件序列后立即生成profiling report
如:adb shell monkey --hprof<event-count>
如果希望monkey在应用程序崩溃后继续发送事件,则需要用到--ignore-crashes
如:adb shell monkey --hprof-crashes<event-count>
(20)--ignore-timeouts:在任何超时错误发生后继续发送事件()
如:adb shell monkey --ignore-timeouts<event-count>
(21)--ignore-security-exceptions:在应用程序权限错误发送后继续发送事件
如:adb shell monkey--ignore-security-exceptions<event-count>
(22)--kill-process-after-error:在应用程序出错后通知系统停止发送错误的进程
如:adb shell monkey--kill-process-after-error<event-count>
(23) --monitor-native-crahes:在设置此选项后,monkey运行时native code的崩溃事件将监听报告
例:压力测试APP
adb shell monkey -v -v -v -p <包名> --throttle<每个指令之间延迟的间隔,毫秒> <随机事件>