赞
踩
目录
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
1、安装JDK,并配置环境变量
2、安装Android SDK,并配置环境变量
可以使用命令来查看有哪些参数
adb shell monkey -help
参数如下:
wangmeng@wangmengdeMacBook-Pro ~ % adb shell monkey -help bash arg: -help args: [-help] arg: "-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] [--match-description TEXT] [--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
例如:
--throttle 操作延迟(毫秒)
用于指定用户操作(即事件)间的时延,单位是毫秒。
--ignore-crashes
用于指定当应用程序崩溃时(Force & Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。
稳定性测试流程(793QBDR5229TZ是设备号):
1、执行100万次随机指令(com.xxx.yyy为测试包)
adb -s 793QBDR5229TZ shell monkey -p com.xxx.yyy --ignore-crashes --ignore-timeouts --ignore-native-crashes -v -v -v 1000000 2> C:\Users\00172242\Desktop\error.txt 1> C:\Users\00172242\Desktop\info.txt
2、收集执行log日志
adb -s 793QBDR5229TZ logcat>C:\Users\00172242\Desktop\logcat.txt
3、收集CPU、内存等数据
adb -s 793QBDR5229TZ shell top -m 5 -s cpu > C:\Users\00172242\Desktop\cpu.txt
属性:
CPU% 当前瞬时使用CPU占用率
RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存)
1、程序无响应的问题:在日志中搜索“ANR”
2、崩溃问题:在日志中搜索“Exception”
3、crash
依次输入如下命令:
- 1、adb shell
- 2、ps | grep monkey
- 3、kill -9 进程号
查看测试机内存参数(也可以用来查看指定进程包名的内存使用情况):
adb shell dumpsys meminfo [pkg]
例如:(793QBDR5229TZ是设备号,查询结果为Total RAM: 7,710,172K)
adb -s 793QBDR5229TZ shell dumpsys meminfo
例如:查看指定进程包名(com.xxx.yyy)的内存
adb -s 793QBDR5229TZ shell dumpsys meminfo com.xxx.yyy
dumpsys命令:
- 子命令 说明 命令格式
- meminfo 内存 adb shell dumpsys meminfo
- cpuinfo CPU adb shell dumpsys cpuinfo
- gfxinfo 帧率 adb shell dumpsys gfxinfo
- display 显示 adb shell dumpsys display
- power 电源 adb shell dumpsys power
- batterystats 电池状态 adb shell dumpsys batterystats
- battery 电池 adb shell dumpsys battery
- alarm 闹钟 adb shell dumpsys alarm
- location 位置 adb shell dumpsys location
查看top命令有哪些参数
adb shell top --help
参数如下:
wangmeng@wangmengdeMacBook-Pro ~ % adb shell top --help usage: top [-Hbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-m LINES] [-d SECONDS] [-p PID,] [-u USER,] Show process activity in real time. -H Show threads -k Fallback sort FIELDS (default -S,-%CPU,-ETIME,-PID) -o Show FIELDS (def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE) -O Add FIELDS (replacing PR,NI,VIRT,RES,SHR,S from default) -s Sort by field number (1-X, default 9) -b Batch mode (no tty) -d Delay SECONDS between each cycle (default 3) -m Maximum number of tasks to show -n Exit after NUMBER iterations -p Show these PIDs -u Show these USERs -q Quiet (no header lines) Cursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force update, R to reverse sort, Q to exit.
例如:(793QBDR5229TZ是设备号)
adb -s 793QBDR5229TZ shell top -m 5 -s cpu > C:\Users\00172242\Desktop\cpu.txt
可以结合使用grep进行指定包数据的筛选
例如:
adb -s 5aa7c950 shell top -d 10|grep com.tencent.mm
注意:
当使用命令:
adb -s 5aa7c950 shell top -s cpu
提示:top: not integer: cpu
解决办法:输入如下命令即可
adb -s 5aa7c950 shell top -s 9
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。