App自动化测试之Monkey使用场景及常用命令

一、Monkey测试简介

      Monkey通过模拟用户触摸屏幕、滑动Trackball、按键等程序来对设备上的程序进行压力测试,检测程序多久会发生异常。

        一般异常分为以下三种:无响应(ANR)、奔溃(crash)、闪退。奔溃和闪退的区别在于前者有提示框,而后者没有,直接跳到系统桌面上。

二、Monkey常用场景命令

      ● 参数:  -p  

        用于约束限制,指定一个或多个包。设置后则系统只启动指定的APP,不指定包则会启动系统内的所有APP.

        指定一个包:adb shell monkey -p com.moonbasa 1000

        指定多个包:adb shell monkey -p com.moonbasa -p com.moonbasa.taylorsage 1000

        不指定包:adb shell monkey 1000

        (用monkey模拟1000次随机用户事件)

     ● 参数: -S (同一seed值可重复事件序列,方便复现问题。seed值由测试者自由指定)

        用于指定伪随机数生成器的seed值,如果值相同则2次测试所产生的事件序列也一样。

        1.adb shell monkey -p com.moonbasa -s 188 100

        2.adb shell monkey -p com.moonbasa -s 188 100

        1,2两次测试的效果是相同的,因为模拟的用户操作序列是一样的。

     ● 参数: -V  

        用于指定反馈信息级别(日志详细程度),总共分为三个级别

        -V   Level0   缺省值,仅提供启动提示、测试完成和最终结果等少量信息

        -V  -V  Level1  提供较为详细的日志,包括每个发送到Activity的事件信息

        -V  -V  -V   Level2  最详细的日志,包括了测试中选中/未选中的Activity信息

       例:adb shell monkey -p com.moonbasa -v -v 1000.

              (用monkey模拟1000次随机用户事件,输出的日志级别为Level1)

     ● 参数:--throttle <毫秒>

        用于指定用户操作(事件)间的时延,单位是毫秒

        例:adb shell monkey -p com.moonbasa --throttle 3000  1000

               (用monkey模拟1000次随机用户事件,事件之间有3秒的延迟)

     ● 参数:--randomize -throttle

        事件间插入随机延迟,范围为0到throttle设置的值 

        例:adb shell monkey -p com.moonbasa --throttle 5000 --randomize -throttle 1000

               (执行1000次的monkey随机事件,事件间隔0~5秒)

    ● 参数:

--pct-{+事件类别}{+事件类别百分比}

         参考文献:https://www.cnblogs.com/bydzhangxiaowei/p/8136491.html

                           https://blog.csdn.net/u011649536/article/details/45043781

    



原文地址:https://www.cnblogs.com/flyyingzi/p/10437640.html