zoukankan      html  css  js  c++  java
  • Monkey如何使用

    1、Monkey是Google提供的一个命令行工具,可以运行在模拟器或者实际设备中。它向系统发送伪随机的用户事件(如按键、手势、触摸屏等输入),对软件进行稳定性与压力测试。

    Monkey是什么:
    Monkey是Google提供的一个用于稳定性与压力测试的命令行工具。
    Monkye路径:
    Monkey程序是Android系统自带的
    路径: /system/framework/Monkey.jar
    启动脚本路径:/system/bin/monkey

    Monkey是由adb命令启动,故需要配置adb环境(windows环境为例)
    下载Android SDK,解压将SDK目录下的platform-tools和tools目录配置到系统环境变量中
    打开cmd窗口,输入adb,有adb帮助信息则配置成功

    运行命令:

    运行记录打印到指定的文件下PC端:  adb shell monkey -v  -v -v  100 >f:monkey.txt

    运行记录打印到指定的文件下android端:adb shell monkey -v -v -v 100 >/sdcard/monkey.txt

    运行记录打印到指定的文件下 “1”代表正确的,“2”代表报错的 adb shell monkey -v  -v -v  100 1>f:monkeylog.txt 2>f:monkeyerror.txt

    Monkye基本参数设置

     

    帮助命令:adb shell monkey --help

    Monkey测试的约束条件:-p <允许执行的包名列表>

    如果用此参数指定了一个或几个包,Monkey将只允许系统启动这些包里的Activity。
    如果你的应用程序还需要访问其它包里的Activity(如选取一个联系人),那些包也需要在此同时指定。如果不指定任何包,Monkey将允许系统启动全部包里的Activity。要指定多个包,需要使用多个 -p选项,每个-p选项只能用于一个包,例如:com.tal.kaoyan

    adb shell monkey -p com.tal.kaoyan -v -v -v 1000 1>f:monkeylog.txt 2>f:monkeyerror.log

    Monkey发送的事件类型和频率

     adb shell monkey -p com.tal.kaoyan --throttle 200 -v -v -v 100

    测试随机数

    adb shell monkey -p com.tal.kaoyan -s 123 -v -v -v 1000 1>f:monkeylog.txt 2>f:monkeyerror.log

     Monkey结果详细解读

    // Seeded: 1435740661667 随机种子
    // Event percentages:
    // 0: 15.0% 事件0:--pct-touch
    // 1: 10.0% 事件1:--pct-motion
    // 2: 2.0% 事件2:--pct-pinchzoom
    // 3: 15.0% 事件3:--pct-trackball
    // 4: -0.0% 事件4:--pct-rotation
    // 5: 25.0% 事件5: --pct-nav
    // 6: 15.0% 事件6:--pct-majornav
    // 7: 2.0% 事件7:--pct-syskeys
    // 8: 2.0% 事件8: --pct-appswitch
    // 9: 1.0% 事件9:--pct-flip
    // 10: 13.0% 事件10:--pct-anyevent

    延迟时间:adb shell monkey -p com.tal.kaoyan --pct-touch 100 --throttle 200 -v -v -v 100

    adb shell monkey -p com.tal.kaoyan --pct-touch 50 --pct-rotation 10 --throttle 200 -v -v -v 100

     可以指定多个事件,百分比不能大于100

     如果百分比小于100,剩余事件随机分配

     Monkey 调试参数

    Android常见错误类型

    默认遇到报错,脚本会停止执行

    Monkye调试参数

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

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

     adb shell monkey -p com.tal.kaoyan --pct-touch 30 --pct-rotation 10 --throttle 200 --ignore-crashes --ignore-timeouts -v -v -v 100

    Monkey测试策略介绍

    策略例子1:固定或随机种子、随机事件
    测试计算器30万次,随机种子为100,随机延迟0-1秒,忽略所有错误
    adb shell monkey -p com.android.calculator2 -s 100 --throttle 1000 --randomize-throttle --ignore-crashes --ignore-timeouts -v -v 300000

    策略例子2:依据应用策略对Monkey各事件进行划分百分比
    测试计算器,触摸事件30%,其他按键50%,错误停止,延时200
    adb shell monkey -p com.android.calculator2 --throttle 200 --pct-touch 30 --pct-anyevent 50 -v -v 100000

    策略例子3:对某个事件提高到很高的百分比,对应用进行专项测试
    对计算器进行旋转压力测试,事件延时2秒,10万次
    adb shell monkey -p com.android.calculator2 --pct-rotation 100 --throttle 2000 100000

    延时策略:
    1、 低延时
    2、 高延时
    3、 随机延时
    4、 用户操作延时

    事件数量:
    1、 常规测试:10万
    2、 压力型测试:30万
    3、 稳定性测试:50万
    4、 长时间执行:100万

  • 相关阅读:
    Redission分布式锁原理
    【idea】idea自动为类生成文档注释
    【idea】idea自动导包设置
    【idea】idea编译环境改为1.8
    邮件html内容中带内网图片地址发送
    JVM8自适应导致内存居高不下
    分布式自增ID算法snowflake(JAVA版)
    制作 leanote docker 镜像
    Git学习之路(5)- 同步到远程仓库及多人协作问题
    Git学习之路(4)- 撤销操作、删除文件和恢复文件
  • 原文地址:https://www.cnblogs.com/liunaixu/p/10785572.html
Copyright © 2011-2022 走看看