APP性能测试之monkey

APP性能测试之monkey

1 monkey 是做什么的 

monkey 是 Android 中的一个命令行工具,由 java 编写,可以运行在模拟器里或实 际设备中。 
它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现 对 APP 进行压力测试。

monkey 测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。 

安装好SDK和avd模拟器,就直接可以允许monkey命令

2 monkey 的优劣 

优势

脱离 Case 的依赖 
可封装自动化执行 
可封装后作为客户端性能测试的驱动 

缺陷

完全随机,不可控 


3 monkey 命令 

adb shell monkey -p 包名 1 -p 包名 2 … 事件数  

-p
如果用此参数指定了一个或几个包,monkey 将只允许系统启动这些包里 的 Activity。
如果你的应用程序还需要访问其它包里的 Activity,那些包也 需要在此同时指定。
如果不指定任何包,monkey 将允许系统启动全部包
里的 Activity。

要指定多个包,需要使用多个 -p 选项,每个-p 选项只能 用于一个包。 

-v
指定打印信息的详细级别,一个 -v 增加一个级别。 
日志级别 Level 0,缺省值,仅提供启动提示、测试完成和最终结果等少 量信息,-v; 
日志级别 Level 1,提供较为详细的日志,包括每个发送到 Activity 的事 件信息,-v -v; 
日志级别 Level 2,最详细的日志,包括了测试中选中/未选中的 Activity 信息,-v -v -v。 

adb shell monkey -p welab.bank.mobile.stage -v -v -v 100

将log保存至本地文件:adb shell monkey -p welab.bank.mobile.stage -v -v -v 500 > D:/monkey.txt

测试结果如下图所示,显示了一些参数

APP性能测试之monkey

显示事件的百分比

APP性能测试之monkey

操作了哪100个事件

APP性能测试之monkey

花费时间,总共事件统计,网络连接状态,Monkey finished

APP性能测试之monkey 

 

4 monkey 结果分析 

adb shell monkey -p –v -v –v > log.txt  可以将结果存储起来 

正常情况,如果 monkey 测试顺利执行完成,在 log 最后,会打印出当前执行事件 的次数和所花费的时间 


Monkey finished 

打开 LOG,查看 log 的最下端,是否有类似以下字段: 
Network stats: elapsed time=5123ms (5123ms mobile, 0ms wifi, 0ms not connected) 
Monkey finished  这个字段表明本次的 Monkey 没有异常,测试通过。 

CRASH 

如果搜索到有结果,则表明有进程出现问题,测试不通过。 
CRASH: com.onekchi.downloadmanager (pid 12919) 

ANR 

如果有搜索结果,则表示测试过程中,测试对象出现了无响应的现象,因 此测试不通过

上一篇:SqlHelper帮助类


下一篇:monkey命令