在Android文件系统中的存放路径是:/system/framework/monkey.jar
Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;
adb shell monkey –help帮助
约束
-p 指定包
指定一个包: adb shell monkey -p 包名 100 (100事件计数)
指定多个包:adb shell monkey 包名 –p 包名 -p 包名 100
不指定包:adb shell monkey 100
要查看设备中所有的包,在CMD窗口中执行以下命令:
adb shell
/#cd data/data
/#ls
-v 日志级别
- Level0:adb shell monkey -p 包名 –v 100
缺省值,仅提供启动提示、测试完成和最终结果等少量信息- Level 1:adb shellmonkey -p 包名 –v -v 100
提供较为详细的日志,包括每个发送到Activity的事件信息- Level 2:adb shellmonkey -p 包名 –v -v –v 100
最详细的日志,包括了测试中选中/未选中的Activity信息
-s 伪随机数生成器的seed值
adb shell monkey -p 包名 –s 10 100
adb shell monkey -p 包名 –s 10 100
两次测试的效果是相同的
调试
- -throttle 毫秒操作事件间的时延,单位毫秒
adb shell monkey -p 包名 - -throttle 3000 100
- -ignore-crashes程序崩溃依然会发送事件
adb shell monkey -p 包名 1000程序崩溃将会停止运行。
- -ignore-timeouts
ANR(Application No Responding)依然发送事件
- -ignore-security-exceptions
许可错误时(如证书许可,网络许可等)Monkey依然会发送事件
- -kill-process-after-error
静止在发生错误时系统并不会结束该应用程序的进程
- -monitor-native-crashes
用于指定是否监视并报告应用程序发生崩溃的本地代码。
发送事件 - -pct-事件+百分比
每种类别事件的数目百分比
- -pct-touch
调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)
adb shell monkey -p com.htc.Weather - -pct-touch 10 1000
//表示触摸占百分之10,单击次数是1000次
- -pct-motion
调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)
–pct-trackball
调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)
- -pct-nav
调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)
- -pct-majornav
导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
- -pct-syskeys
调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)
- -pct-appswitch
调整启动Activity的百分比。
- -pct-anyevent
调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等
adb shell monkey -p com.htc.Weather–pct-anyevent 50 –pct-appswitch 50 1000
注意:各事件类型的百分比总数不能超过100%;
- -pct-pinchzoom
二指缩放百分比,即智能机上的放大缩小手势操作
- -pct-trackball
轨迹球事件百分比
- -pct-rotation
屏幕旋转百分比,横屏竖屏
- -pct-nav
”基本”导航事件百分比(导航事件包括上下左右,如方向输入设备的输入)老手机的上下左右键,智能机上没有
- -pct-majornav
”主要”导航事件百分比(这些导航事件通常会引发UI的事件,中间键、回退键、菜单键)
- -pct-flip
键盘轻弹百分比,如点击输入框,键盘弹起,点击输入框以外区域,键盘收回
monkey -p 包名 - -pct-touch 47 - -pct-motion 10 –pct-anyevent 5 - -pct-trackball 8 - -pct-syskeys 5 - -pct-appswitch 20 - -pct-majornav 5 –bugreport -v -v -v -s 16406 - -throttle 500 - -ignore-crashes - -ignore-timeouts - -ignore-security-exceptions 1000000 > /sdcard/dsmonkey0328.txt 2>&1 &
adb logcat >e:\bag.txt