一、什么是monkey?
Monkey是Android中的一个命令行工具,monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,如果用户触发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件。
Monkey测试目的:测试软件的稳定性、健壮性。
二、Monkey基本命令
1:常用选项
--help:打印帮助信息,
-v :指定输出信息的详细级别(0~2),一个 -v增加一个级别 , 默认级别为 0 ,最多3个。
2:事件选项
-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200,
--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100。
3:约束选项
-p:指定有效的package程序名称,一个-p 对应一个有效package, 如:-p com.ckt -p com.ckt.asura;(如果不指定包,Monkey将允许系统启动设备中的所有APP)。
4:调试选项
--dbg-no-events:初始化启动的activity,但是不产生任何事件,
--ignore-crashes:忽略崩溃,
--ignore-timeouts:忽略超时,
--ignore-security-exceptions:忽略安全异常,
--monitor-native-crashes:跟踪本地方法的崩溃问题。
完整命令举例:adb shell monkey -p com.yibasan.lizhifm --throttle 300 -s 200 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > D:\monkey_log\java_monkey_log.txt
monkey作用的包:-p com.xy.android.junit
事件之间的延迟时间300毫秒:--throttle 300
产生时间序列的种子值:-s 200
忽略程序崩溃: --ignore-crashes
忽略超时: --ignore-timeouts
监视本地程序崩溃: monitor-native-crashes
输出信息级别为1: -v -v
产生 10000个事件: 10000
信息保存路径:>D:\monkey_log\java_monkey_log.txt
三:日志分析
(1)ANR问题:在日志中搜索“ANR ”(注意ANR后有空格)
(2)崩溃问题:在日志中搜索“Exception”
Application Not Responding 在Android上,如果你的应该程序有一段时间响应不够灵敏,程序无响应。
网友评论