android app压力测试(一)

时间:2021-01-28 11:32:55

前言:

 很久之前,就听说了monkey;但是monkey是干什么用;如何使用;我们还是带着最简单的问题开始学习吧;

ps:我的博文格式变化了,阅读了很多博文,发现这个样式阅读起来很有条理,我也参考一下下。。呵呵--

 

【目录】

一:Monkey简介

二:Monkey的特性

三:Monkey的基本命令参数说明

四:Monkey使用实例

 

一:Monkey简介

    说:monkey是一只调皮的猴子,在app中乱按、乱摸、乱跳;

         模拟用户触摸屏幕、滑动轨迹球、按键等操作;对模拟器或者手机上的软件进行压力测试

         检测软件的稳定性健壮性

  原理:向系统发送伪随机的用户事件流(按键输入、触摸输入、手势输入),对测试软件进行压力测试;

 

二:Monkey的特性

(1)测试的对象仅为应用程序包(apk包,)有一定的局限性;

(2)Monkey测试使用的事件流、数据流是随机的,不能进行自定义;

(3)可以对MonkeyTest的对象、事件数量、类型、频率等进行设置;

 虽然Monkey工具并不完善,但是足以应付应用程序的基本测试需要了;如果需要功能更强大的测试工具的话,使用Monkey的进化版本MonkeyRunner;

 

三:Monkey的基本命令参数说明

    Monkey包括许多选项,大致分为四大类

    1:基本选项

        -help 打印帮助文档

       -v :指定打印信息的详细级别;一个-v增加一个级别。

             -v       :Level 0,缺省值,仅提供启动提示,测试完成和最终结果等少量信息

             -v -v    :Level 1,提供较为详细的日志,包括每个发送到的Activity的事件信息

             -v -v -v:Level 2,最详细的日志,包括了测试中选中/未选中的Activity信息

 android  app压力测试(一)

 

 2:事件选项

 -s :伪随机数生成器的seed值。如果用相同的seed值再次运行Monkey,它将生成相同的事件序列;

等等。。。

3:约束选项

 -p:指定一个或者多个包 (指定多个包,使用多个-p,每个-p选项只能用于一个包)

-c:指定一个或多个类别()

4:调试选项

--ignore-crashes:通常,当应用程序崩溃或者发生任何异常时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发生事件,直到计数完成

--ignore-timeouts:通常,当应用程序发生任何超时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发生事件,直到计数完成

等等。。

 

 四:Monkey使用实例

(1)指定一个包:adb shell monkey -p package 1000

(2)seed值:adb shell monkey -p package  -s 10 1000

(3)日志级别:adb shell monkey -p package  -v -v 1000

操作:

1:下载一个apk文件,可以在豌豆荚下载;

   android  app压力测试(一)

2:使用adb命令安装下载的apk文件(abd install + apk文件)

3:执行monkey命令(这里我用的是其它的app)

android  app压力测试(一)

 

 打印的日志太长,可以重定向到文件中;

android  app压力测试(一)

日志文件如下:

android  app压力测试(一)

 

本文学习的博文地址:

http://www.cnblogs.com/findyou/p/3940671.html#Mon03

http://blog.csdn.net/lfyx1357/article/details/7418133