美文网首页软件测试技术
Android Monkey基础测试命令整理

Android Monkey基础测试命令整理

作者: 又回来了 | 来源:发表于2017-07-19 13:18 被阅读417次

         Monkey测试是为了测试软件的稳定性,健壮性,用于进行压力测试等功能。开发人员结合monkey 打印的日志和系统打印的日志,结局测试中出现的问题。Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性。

         Monkey是Android系统自带的一款测试工具,它可以来做一些稳定性和随机的测试,monkey是一个命令行工具,它可以运行在任何模拟器实例或设备,它向系统发送伪随机的用户事件流,对被测应用进行压力测试。

          monkey在运行时,会生成事件并将它们发送给系统。同时Monkey还会对被测应用进行监控,对下列三种情况做特殊处理:

                     1如果你有指定monkey运行在一个或多个特定的包,当检测视图跳转到其他包时会进行阻止

                     2如果您的应用程序崩溃或接收任何类型的未处理的异常,Monkey将停止并报告错误

                    3  如果您的应用程序生成一个应用程序没有响应错误,monkey将停止并报告错误

    1adb  shell

    2adb devices 

    adb shell pm list package -f

    3adb install 包名.apk

    4adb shell monkey -v -p com.geomancyproject 10000  随机模拟10000名用户

    5adb shell monkey -v -p com.geomancyproject 50 >D:\log.txt 保存日志

    adb shell monkey -pcom.geomancyproject -v -v -v 500

    1在运行cmd,中输入adb,即可看看是否配置好,安装好

    2.使用adb命令

    (1)安装apk,连接手机或者运行模拟器,把APK放到adb.exe同级目录

            输入 命令:adb install  duomi.apk(随意重命名)

    (2)卸载apk获取包名

          输入 命令:adb uninstall包名

    包名:com.project.li

    (3)查看已连接的设备

          输入 命令:adb devices

    (4)联接设备和取消联接设备

          输入 命令:adb connect  ip地址

         输入 命令:adb disconnect

    (5)随机任意测试

    输入 命令:adb shell monkey -pcom.project.li -v 100

    (6)随机触摸事件

    输入 命令:adb shell monkey -p com.project.li 1000 -v  -pct -touch

    (7)随机事件

    输入 命令:adb shell monkey -p com.project.li 5000  -v -pct-touch 30 -v  -pct-montion 70

    (8) 随机动作事件

    输入 命令:Adb shell monkey -pcom.project.li 1000  -v -pct-montion

    (9)截图

    adb shell /system/bin/screencap -p /sdcard/screenshot.png

    adb pull /sdcard/screenshot.png  e:\

    (10)截log

    adb logcat 1>>c:\log.txt

    adb的参数理解:

    参数很重要,只敲几个命令不重要,得明白一些参数。这样面试的时候,可能会问到一些重要的参数的意义。

    1.-p:-p后面跟一个包的包名,比如-p com.yiyixx.demo

    如果有多个包名,那每个包名前面都需要一个-p参数

    2.- v:-v 是指查看日志的等级

    2.1 一个-v 则 代表默认级别,缺省值。示例 adb shell monkey -p com.yiyixx.demo –v 100

    仅提供启动提示、测试完成和最终结果等少量信息

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

    2.3三个 -v则说明最详细的日志,包括了测试中选中/未选中的Activity信息

    3.-s:-s代表的是随机产生一个seed  值,如果两个 seed值相同的话,则两次输出结果相同

    4.-ignore-crash:用于指定当应用程序崩溃时(Force& Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。

    5.-ignor-timeouts:用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,monkey依然会发送事件,直到事件计数完成。

    6.-ignor-security-exceptions:用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,

    Monkey依然会发送事件,直到事件计数完成。

    7.--kill-process-after-error:用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:

    应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。

    8.  --monitor-native-crashes:用于指定是否监视并报告应用程序发生崩溃的本地代码。

    9.  --pct-{+事件类别}{+事件类别百分比}:用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)

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

    adb shell monkey -p com.yiyixx.demo --pct-touch 10 1000

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

    com.yiyixx.demo --pct-motion 20 1000

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

    adb shell monkey -p com.yiyixx.demo --pct-trackball 30 1000

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

    adb shell monkey -p com.htc.Weather--pct-nav 40 1000

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

    adb shell monkey -p com.htc.Weather--pct-majornav 50 1000

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

    adb shell monkey -p com.htc.Weather--pct-syskeys 60 1000

    (7)--pct-appswitch {+百分比}:调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法

    adb shell monkey -p com.htc.Weather--pct-appswitch 70 1000

    (8)--pct-anyevent {+百分比}:调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等

    adb shell monkey -p com.yiyixx.demo

    (9)--pct -anyevent 100 1000* 指定多个类型事件的百分比:

    adb shell monkey -pcom.yiyixx.demo r--pct-anyevent 50 --pct-appswitch 50 1000

    注意:各事件类型的百分比总数不能超过100%;

    10.要获取Monkey命令自带的简单帮助,在CMD中执行命令:adb shell monkey –help

    命令:

    -p  指定运行的应用程序的包名

    eg:monkey -v 500  将运行所有的应用程序

    monkey -p com.when.coco -p com.example.hello -v 500 只运行指定的两个应用程序

    -v 指定反馈信息的级别,有三个级别(详细程度)

    level 1:  adb shell monkey -p packagename -v 500

    level 2:  adb shell monkey -p packagename -v -v 500

    level 3:  adb shell monkey -p packagename -v -v -v 500

    -s  指定随机序列生成的值,可以保证测试所产生的随机序列相同

    adb shell monkey -p packagename -v 500

    --throttle(毫秒)指定操作间的时延

    adb shell monkey -p com.geomancyproject --throttle -v 10000

    --ignore-crashes 指定程序奔溃时,继续发送monkey命令直至时间数目达到指定数目

    adb shell monkey -p com.geomancyproject --ignore-crashes -v 500 

    --ignore-timeouts 指定应用程序发生ANR错误时(application no responding)继续运行monkey,直到事情计数结束

    adb shell monkey -p com.geomancyproject --ignore-timeouts -v 500

    --ignore-security-exceptions 指定应用程序发生许可错误(证书许可,网络许可)继续发送monkey命令,直到计数结束

    adb shell monkey -p packagename --ignore-timeouts -v 500

    --kill-process-after-error 指定应用程序发生错误时,应用程序停止保持在当前错误的状态

    一共有9个事件:

    --pct {事件类型} {事件百分比}:

    触摸事件百分比:--pct-touch  20(表示触摸事件为20%) --0

    动作事件百分比:--pct-motion                         --1

    轨迹事件百分比:--pct-trackball                      --2

    基本导航事件百分比:--pct-nav                        --3

    主要导航事件的百分比:--pct-majornav                 --4

    系统按键事件:-pct-syskeys                           --5

    启动事件:-pct-appswitch                             --6

    键盘翻转事件:--pct-file                             --7

    其他事件的百分比:--pct-anyevent 100                 --8

    adb shell monkey --pct-anyevent 50 -pct-appswitch 50 -v 500

    1、monkey -p com.you rpackage -v 500 简单的输出测试的信息。

    2、adb shell monkey -pcom.geomancyproject -v -v -v 500  以深度为三级输出测试信息。 

    3、monkey -p com.geomancyproject --port 端口号 -v 为测试分配一个专用的端口号,不过这个命令只能输出跳转的信息及有错误时输出信息。

    4、adb shell monkey -p com.geomancyprojecte -s 数字 -v 500 为随机数的事件序列定一个值,若出现问题下次可以重复同样的系列进行排错。

    adb shell monkey -p com.geomancyprojecte -s1000 -v 500

    5、monkey -p com.yourpackage -v --throttle 3000 500 为每一次执行一次有效的事件后休眠3000毫秒

    相关文章

      网友评论

      • 爱红旗渠:……,不带任何人的主观性。 Monkey是Android系统自带的一款测试工具,它可以来做一些稳定性和随机的测试,monkey是一个命令行工具,它可以运行在任何模拟器实例或设备,它向系统发送伪随机的用户…… Monkey测试是为了测试软件的稳定性,健壮性,用于进行压力测试等功能。开发人员结合monkey 打印的日志和系统打印的日志,结局测试中出现的问题。Monkey 测试,所有的事件都是随机产生的……事件流,对被测应用进行压力测试。 monkey在运行时,会生成事件并将它们发送给系统。同时Monkey还会对被测应用进行监控,对下列三种情况做特殊处理: 如果你有指定monkey运行在…… - 爱红旗渠不知道是否是沙发

      本文标题:Android Monkey基础测试命令整理

      本文链接:https://www.haomeiwen.com/subject/ozqlkxtx.html