zoukankan      html  css  js  c++  java
  • Appium

    monkey 参数

    1.常规类参数

    A.帮助类参数 monkey -h

    B.日志级别  $ adb shell monkey -v <event-count> 

    .

    2.事件类参数

    A .执行指定脚本  $ adb shell monkey -f <scriptfile> <event-count>
    例: $ adb shell monkey -f /mnt/sdcard/test1

    B.伪随机数生成种子值  $ adb shell monkey -s <seed> <event-count>

    例:$ adb shell monkey -s 666 100

    C.设置间隔(每一个指令之间加上固定的间隔时间) $ adb shell monkey --throttle <milliseconds>

    例:$ adb shell monkey --throttle 3000 5

    D.调整触摸事件百分比如果你希望调整触摸事件的百分比,记住使用--pct-touch。 $ adb shell monkey --pct-touch

    例:$ adb shell monkey -v -v --pct-touch 100 200

    E.调整手势事件百分比  $ adb shell monkey --pct-motion 所占比例 事物数

    例: $ adb shell monkey -v -v --pct-motion 100 200

    F.旋转屏幕

    adb shell monkey --pct-rotation 20 -v 100

    G.同时调整两个事件百分比

    adb shell monkey -v --pct-motion 40 -pct-touch 20 200

    三、约束类参数

    1.包约束
    $ adb shell monkey -p <allowed-package-name> <event-count>
    例:
    $ adb shell monkey -p com.tal.kaoyan 500
    $ adb shell monkey -p com.tal.kaoyan -p com.tencent.mm 500

    四、调试类参数

     A.应用程序崩溃后继续发送事件

    $ adb shell monkey --ignore-crashes <event-count>
    在设置此选项后,当应用程序崩溃或发生失控异常时,monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到上述崩溃或异常将停止运行。

     B.超时错误继续发送事件

    $ adb shell monkey --ignore-timeouts

    C.应用程序权限错误发生后继续发送事件

    $ adb shell monkey --ignore-security-exceptions

    五、Monkey参数应用综合案例

    1、需求分析

    A、测试是指定应用,因此需要使用-p指定被测app包名:com.tal.kaoyan

    B、这个测试的目的是希望模拟用户操作,因此需要让Monkey执行的事件尽可能地接近用户的常规操作,这样才可以最大限度地发现用户使用过程中可能出现的问题。因此需要对Monkey执行的事件百分比做一些调整:
    触摸事件和手势事件是用户最常见的操作,所以通过--pct-touch和--pct-motion将这两个事件的占比调整到40%与25%;目标应用包含了多个Activity,为了能覆盖大部分的Activity,所以通过--pct-appswitch将Activity切换的事件占比调整到10%;被测应用在测试中出现过不少横竖屏之间切换的问题,这个场景也必须关注,因此通过--pct-rotation把横竖屏切换事件调整到10%。

    C、使用-s参数来指定命令执行的seed值 Monkey会根据seed值来生成对应事件流,同一个seed生成的事件流是完全相同的。这里指定了seed值,是为了测试发现问题时,便于进行问题复现。

    D、使用--throttle参数来控制Monkey每个操作之间的时间间隔 指定操作之间的时间间隔,一方面是希望能更接近用户的操作场景,正常用户操作都会有一定的时间间隔;另一方面也是不希望因为过于频繁的操作而导致系统崩溃,尤其是在比较低端的手机上执行测试时。因此通过--throttle设置Monkey每个操作固定延迟0.4秒。

    E、使用--ignore-crashs和--ignore-timeouts参数使Monkey遇到意外时能继续执行 在执行Monkey测试时,会因为应用的崩溃或没有响应而意外终止,所以需要在命令中增加限制参数--ignore-crash和--ignore-timeouts,让Monkey在遇到崩溃或没有响应的时候,能在日志中记录相关信息,并继续执行后续的测试。

    F、使用-v指定log的详细级别 Monkey的日志输出有3个级别:日志的级别越高,其详细程度也越高。为了方便问题的定位,这里将日志设为 -v -v.

    2、演示如下:

    adb shell monkey -p com.tal.kaoyan
    --pct-touch 40 #触摸
    --pct-motion 25 #手势
    --pct-appswitch 10 #Activity切换的事件占比
    --pct-rotation 5 #横竖屏
    -s 1666 --throttle 400
    --ignore-crashes
    --ignore-timeouts
    -v -v 200

     

  • 相关阅读:
    Hello Word
    fetch_20newsgroups 数据集导入失败: no handlers could be fetch_20newsgroups
    足球游戏论坛数据分析--简单粗暴的贝叶斯
    解决: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19
    List tuple 类型转成数组
    C#常用控件属性及方法介绍
    ADAS可行驶区域道路积水反光区域的识别算法
    An ImageBased Benchmark Dataset and a Novel Object Detector for Water Surface Object Detection
    Single Image Water Hazard Detection using FCN with Reflection Attention Units
    基于Caffe的积水积雪路面识别系统设计与开发
  • 原文地址:https://www.cnblogs.com/Teachertao/p/11258990.html
Copyright © 2011-2022 走看看