Monkey程序由Android系统自带,使用Java语言写成,可通过Monkey程序模拟用户触摸屏幕、滑动、按键等操作来对设备上的程序进行压力测试
基本命令:adb shell monkey
参数说明:
(1)-p参数,指定启动一个或多个包,如果不使用-p参数,则系统随机启动应用
示例:adb shell monkey -p com.htc.Weather 100 //启动com.htc.Weather,随机执行100个随机事件
adb shell monkey -p com.htc.Weather -p com.htc.photo.widgets 100 //启动com.htc.Weather和com.htc.photo.widgets,随机执行100个随机事件
adb shell monkey 100 //随机启动应用,执行100个随机事件
(2)-s参数,指定启动activity,要指定多个activity,需要使用多个-c选项,每个-c选项只能用于一个activity
示例:adb shell monkey -p com.tsl.easypassage -c module.views.LoginActivity 10 //指定启动应用的某个activity,执行10个事件
adb shell monkey -p com.tsl.easypassage -c module.views.LoginActivity -c module.views.mainActivity 10 //指定启动应用的两个个activity,执行10个事件
(3)-v参数,指定日志信息级别,一共3个级别,级别越高,信息越详细
示例:adb shell monkey -p com.htc.Weather –v 100 //指定启动应用,执行100个事件,测试完成后提供少量信息
adb shell monkey -p com.htc.Weather –v -v 100 //指定启动应用,执行100个事件,测试完成后提供较为详细信息
adb shell monkey -p com.htc.Weather –v -v -v 100 //指定启动应用,执行100个事件,测试完成后提供详细信息
(5)–throttle参数,用于指定用户事件间的延时,单位是毫秒
示例:adb shell monkey -p com.tsl.easypassage -s 10 --throttle 10 -v -v 100
//指定启动应用,并指定伪随机数生成器的seed值为10,执行100个随机事件,每个事件间隔10毫秒,返回较为详细的日志信息
(6)–ignore-crashes参数,指定当应用程序崩溃时,Monkey是否停止运行,如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成
示例:adb -s shell monkey -p com.tsl.easypassage -s 10 --throttle 10 --ignore-crashes -v -v 100
//指定启动应用,并指定伪随机数生成器的seed值为10,执行100个随机事件,每个事件间隔10毫秒,如果执行事件期间发送程序崩溃,Monkey依然会发送事件,
直到事件计数完成,执行结果返回较为详细的日志信息
(7)–ignore-timeouts参数,指定当应用程发生无响应时,Monkey是否停止运行,如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成
示例:adb -s shell monkey -p com.tsl.easypassage -s 10 --throttle 10 --ignore-crashes --ignore-timeouts -v -v 100
//指定启动应用,并指定伪随机数生成器的seed值为10,执行100个随机事件,每个事件间隔10毫秒,如果执行事件期间发生程序崩溃或程序无响应,Monkey依然会发送事件,直到事件计数完成,执行结果返回较为详细的日志信息
(8)–ignore-security-exceptions参数,指定当应用程发生许可证错误时,Monkey是否停止运行,如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成
示例:adb -s shell monkey -p com.tsl.easypassage -s 10 --throttle 10 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v 100
//指定启动应用,并指定伪随机数生成器的seed值为10,执行100个随机事件,每个事件间隔10毫秒,如果执行事件期间发生程序崩溃或程序无响应或许可证错误,
Monkey依然会发送事件,直到事件计数完成,执行结果返回较为详细的日志信息
(9)–kill-process-after-error参数,指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态
(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)
示例:adb -s shell monkey -p com.tsl.easypassage -s 10 --throttle 10 --kill-process-after-error -v -v 100
//指定启动应用,并指定伪随机数生成器的seed值为10,执行100个随机事件,每个事件间隔10毫秒,如果执行事件期间发生程序崩溃或程序无响应或许可证错误,
Monkey停止发送事件,应用程序停止运行并保持在当前状态,执行结果返回较为详细的日志信息
(10)–monitor-native-crashes参数,用于指定是否监视并报告应用程序发生崩溃的本地代码
示例:adb -s shell monkey -p com.tsl.easypassage -s 10 --throttle 10 --kill-process-after-error --monitor-native-crashes -v -v 100
//指定启动应用,并指定伪随机数生成器的seed值为10,执行100个随机事件,每个事件间隔10毫秒,如果执行事件期间发生程序崩溃或程序无响应或许可证错误,
Monkey停止发送事件,应用程序停止运行并保持在当前状态,报告应用程序发生崩溃的本地代码,执行结果返回较为详细的日志信息
(11)–pct-事件类别+事件类别百分比,用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)
示例:adb -s shell monkey -p com.tsl.easypassage -s 10 --throttle 10 --pct-touch 15 100
Event percentages(事件百分比)
0:触摸事件百分比,参数–pct-touch
1:滑动事件百分比,参数–pct-motion
2:缩放事件百分比,参数–pct-pinchzoom
3:轨迹球事件百分比,参数–pct-trackball
4:屏幕旋转事件百分比,参数–pct-rotation
5:基本导航事件百分比,参数–pct-nav
6:主要导航事件百分比,参数–pct-majornav
7:系统按键事件百分比,参数–pct-syskeys
8:Activity启动事件百分比,参数–pct-appswitch
9:键盘翻转事件百分比,参数–pct-flip
10:其他事件百分比,参数–pct-anyevent

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/22182.html