在APP提交到应用市场审核时常常有自动化测试,也可以自己设置参数自我检查.
Monkey测试随机性比较高,故仅作为参考,具体测试工作交由测试人员
简单案例:
adb shell monkey -v 500
adb shell monkey -v -p com.easyto.travel 100
Mokey测试参数:
adb shell monkey -v –throttle 300 –pct-touch 30 –pct-motion 20 –pct-nav 20 –pct-majornav 15 –pct-appswitch 5 –pct-anyevent 5 –pct-trackball 0 –pct-syskeys 0 -p com.easyto.travel 1000
六、在monkey测试中常用的命令组合有
android 自动化压力测试-monkey 3 命令参数
使用monkey help 命令查看命令参数,如下:
C:\Users\chenfenping>adb shell monkey -help
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...][-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...][--ignore-crashes] [--ignore-timeouts][--ignore-security-exceptions][--monitor-native-crashes] [--ignore-native-crashes][--kill-process-after-error] [--hprof][--pct-touch PERCENT] [--pct-motion PERCENT][--pct-trackball PERCENT] [--pct-syskeys PERCENT][--pct-nav PERCENT] [--pct-majornav PERCENT][--pct-appswitch PERCENT] [--pct-flip PERCENT][--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT][--pkg-blacklist-file PACKAGE_BLACKLIST_FILE][--pkg-whitelist-file PACKAGE_WHITELIST_FILE][--wait-dbg] [--dbg-no-events][--setup scriptfile] [-f scriptfile [-f scriptfile] ...][--port port][-s SEED] [-v [-v] ...][--throttle MILLISEC] [--randomize-throttle][--profile-wait MILLISEC][--device-sleep-time MILLISEC][--randomize-script][--script-log][--bugreport][--periodic-bugreport]COUNT
1 参数: -p 指定有效的package
用于约束限制,用此参数指定一个或多个包(Package,即App)。指定包之后,monkey将只允许系统启动指定的APP,如果不指定包,将允许系统启动设备中的所有APP.
* 指定一个包: adb shell monkey -p cn.emoney.acg 10 * 指定多个包:adb shell monkey -p cn.emoney.acg –p cn.emoney.wea -p cn.emoney.acg 100 * 不指定包:adb shell monkey 100
2 参数: -v
用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:
日志级别 Level0 示例 adb shell monkey -p cn.emoney.acg –v 100 说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息 日志级别 Level 1 示例 adb shell monkey -p cn.emoney.acg –v -v 100 说明 提供较为详细的日志,包括每个发送到Activity的事件信息 日志级别 Level 2 示例 adb shell monkey -p cn.emoney.acg –v -v –v 100 说明 最详细的日志,包括了测试中选中/未选中的Activity信息
3 参数: -s
用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。
Monkey 测试1:adb shell monkey -p cn.emoney.acg –s 10 100 Monkey 测试2:adb shell monkey -p cn.emoney.acg –s 10 100
4 参数: –throttle
<毫秒>
延迟
毫秒>
用于指定用户操作(即事件)间的时延,单位是毫秒;
adb shell monkey -p cn.emoney.acg –throttle 5000 100
5 参数: –ignore-crashes 忽略崩溃
用于指定当应用程序崩溃时(Force& Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。
adb shellmonkey -p cn.emoney.acg --ignore-crashes 1000 测试过程中即使acg程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止
adb shellmonkey
-p cn.emoney.acg 1000 测试过程中,如果acg程序崩溃,Monkey将会停止运行
6 参数: –ignore-timeouts 忽略超时
用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。
adb shellmonkey -p cn.emoney.acg --ignore-timeouts 1000
7 参数: –ignore-security-exceptions 忽略安全异常
用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。
adb shellmonkey -p cn.emoney.acg --ignore-security-exception 1000
8 参数: –kill-process-after-error 发生错误后直接杀掉进程
adb shellmonkey -p cn.emoney.acg --kill-process-after-error 1000
9 参数: –monitor-native-crashes 跟踪本地方法的崩溃问题
用于指定是否监视并报告应用程序发生崩溃的本地代码。
adb shellmonkey -p cn.emoney.acg --monitor-native-crashes 1000
10 参数: –pct-{+事件类别}{+事件类别百分比}
adb shell monkey -p cn.emoney.acg --pct-touch 10 1000
adb shell monkey -p cn.emoney.acg --pct-motion 20 1000
adb shell monkey -p cn.emoney.acg --pct-trackball 30 1000
adb shell monkey -p cn.emoney.acg --pct-nav 40 1000
adb shell monkey -p cn.emoney.acg --pct-majornav 50 1000
adb shell monkey -p cn.emoney.acg --pct-syskeys 60 1000
adb shell monkey -p cn.emoney.acg--pct-appswitch 70 1000
adb shell monkey -p cn.emoney.acg
adb shell monkey -p cn.emoney.acg --pct-anyevent 50 --pct-appswitch 50 1000
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228187.html原文链接:https://javaforall.net

