monkey压力测试基本使用及要求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了monkey压力测试基本使用及要求相关的知识,希望对你有一定的参考价值。

参考技术A 1、工作时间,为了更快定位问题,日志打印到电脑,错误打印到控制台,使用如下命令:

adb shell monkey -s 201810061010 -p com.noahedu.teachingvideo --throttle 100 -v -v -v 15000000 > D:\MonkeyTest\tea\tv_tea_V1.0.9_20181010_1.txt

同时,打开android Profiler,查看分析内存、cpu、网络情况,及时解决问题。

2、下班前,为了防止网络断开、电脑待机等原因中断测试, 日志打印到移动端,使用如下命令(1为monkey命令;2为错误日志):

adb shell "monkey -s 201810061010 -p com.noahedu.teachingvideo --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 15000000 1> /sdcard/tea_mk_10_11.txt  2>/sdcard/tea_err_10_11.txt"

adb pull /sdcard/tea_mk_10_11.txt  D:/MonkeyTest/tea/tea_mk_10_11.txt

3、屏蔽声音:

加上:  --pct-syskeys 0 --pct-anyevent  0

例子:adb shell monkey -s 201810061027  --throttle 100 --pct-syskeys 0 --pct-anyevent 0 -v -v -v 15000000 > D:\MonkeyTest\tea\tv_system_V1.0.9_20181027_1.txt

原理解释(实际使用 --pct-syskeys 0 没有生效,所以加上--pct-anyevent 0):

adb shell monkey --pct-syskeys <percent>

   --pct-syskeys:后面接系统按键事件百分比,系统按键事件通常指仅供系统使用的保留按键,如HOME键、BACK键、拨号键、挂断键、音量键等

adb shell monkey --pct-anyevent <percent>

  --pct-anyevent:后面接其他类型事件百分比,其他类型事件指上文中未涉及的所有其他事件,如keypress、不常用的button等

4、通过测试标准:

1、合格:monkey脚本跑3个小时以上,间隔时间300毫秒,错误日志无crash信息、anr信息,内存不超过250M。

2、稳定:monkey脚本跑8个小时以上(大约为下班时间到第二天上班),错误日志无crash信息、anr信息,内存不超过200M。

monkey基本命令及脚本编写

Monkey 是Android自带的黑盒测试工具,一般通过随机触发界面事件,来确定应用是否会发生异常,多用于android应用的稳定性、压力测试

 基本命令:

adb shell monkey [options] <event-count>

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]

[--pct-permission 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]

[--permission-target-system]

COUNT

示例:

1、随机模拟1000次操作测试应用

adb shell monkey -p com.conti.greatwallcarrental -v 1000

2、执行monkey脚本,需将脚本需放在android终端执行

adb shell monkey -f <script> count

monkey.script 脚本内容如下(针对计算机应用):

# Start of Script

type= user

count= 1

speed= 1.0

start data >>

LaunchActivity(com.android.calculator2, com.android.calculator2.Calculator)

 

DispatchPress(KEYCODE_3)

UserWait(200)

DispatchPress(KEYCODE_2)

UserWait(200)

DispatchPress(KEYCODE_PLUS)

UserWait(200)

DispatchPress(KEYCODE_9)

UserWait(200)

DispatchPress(KEYCODE_2)

UserWait(200)

DispatchPress(KEYCODE_EQUALS)

UserWait(200)

以上是关于monkey压力测试基本使用及要求的主要内容,如果未能解决你的问题,请参考以下文章

Monkey基本使用

app 压力测试——Monkey

App测试:Monke压力测试

App测试:Monke压力测试

Android 压力测试工具Monkey

adb命令之monkey压力测试篇