首页 > 代码库 > android app压力测试(一)---monkey介绍及基本使用

android app压力测试(一)---monkey介绍及基本使用

前言:

 很久之前,就听说了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信息

 技术分享

 

 2:事件选项

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

--throttle <毫秒>:事件之间插入延迟。通过该选项可以减缓Monkey的执行速度;如果不指定该选项,Monkey将不会被延迟,事件将尽快地被产生;

--pct-touch:调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)

--pct-motion:调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)

--pct-trackball:调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)

--pct-nav:调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)

--pct-majornav:调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)

--pct-syskeys:调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)。

--pct-appswitch:调整启动Activity的百分比

--pct-anyevent:调整其它类型事件的百分比

3:约束选项

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

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

4:调试选项

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

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

--ingore-security-exceptions:通常,当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,Monkey将停止运行。如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成

-kill-process-after-error:通常,当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。当设置了此选项时,将会通知系统停止发生错误的进程。注意,正常的(成功的)结束,并没有停止启动的进程,设备只是在结束事件之后,简单地保持在最后的状态。
 
--monitor-native-crashes:监视并报告Android系统中本地代码的崩溃事件。如果设置了--kill-process-after-error,系统将停止运行。
 
--wait-dbg:停止执行中的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

技术分享

 

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

技术分享

日志文件如下:

技术分享

 

本文学习的博文地址:

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

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

android app压力测试(一)---monkey介绍及基本使用