zoukankan      html  css  js  c++  java
  • Android Monkey使用

    Monkey 是什么?

    Android SDK自带的压力测试工具,也是一个命令行工具。它向系统发送伪随机的用户事件流(如按键输入,触摸屏输入,手势输入等),实现对正在开发的应用程序进行压力测试。

    (1) Monkey程序由Android系统自带,使用Java诧言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar;   
    (2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;  
    (3)Monkey 命令启动方式:    
              a)可以通过PC机CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试          

         b)在PC上adb shell 进入Android系统,通过执行 monkey {+命令参数} 来进行Monkey 测试          

              c )  在Android机或者模拟器上直接执行monkey 命令,可以在Android机上安装Android终端模拟器  

    特点:

    测试事件和数据都是随机的,不能自定义。

    Monkey 命令详解

    1、标准的monkey 命令,打开运行sdk目录下的 adb shell

    monkey [option] <eventcount> 
    例如: adb shell monkey
    -v 500 //产生500 随机事件,作用在系统中所有activity(其实也不是所有的activity,而是包含 Intent.CATEGORY_LAUNCHER 或Intent.CATEGORY_MONKEY 的activity)。

    2、基础参数

    -p <packageName ...>

    用此参数指定一个或者多个包名,指定包之后,monkey将只启动对应的应用,如果未指定包名,系统将允许monkey启动所有应用。

    adb shell monkey -p com.android.example 1000  // 指定应用 com.android.example 进行1000次模拟事件测试

    adb shell monkey -p com.android.example -p com.android.example2 1000   //指定多个应用

    -v  

    用于指定测试反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应一下参数

     adb shell monkey -p com.android.example -v 100 //仅提供启动、测试完成和最终结果等少量日志。

    adb shell monkey -p com.android.example -v -v 100 //提供较详细的日志,包括每个发送到Activity 的事件信息

    adb shell monkey -p com.android.example -v -v -v 100 // 包括各个activity的信息

    -s(随机数种子)

    用于指定伪随机数生成器的seed 值,如果seed 相同,则两次Monkey测试所产生的事件序列也相同的,示例:

    adb shell monkey -p com.android.example -s 10

    --throttle <毫秒>

    用于指定用户操作事件延迟时间。默认不设置,则尽可能的执行。

    adb shell monkey -p com.android.example --throttle 3000 10

    -c <main-category>

    如果以这种方式指定一个或多个类别,则Monkey将  仅  允许系统访问使用指定类别之一列出的活动。如果您未指定任何类别,Monkey将选择使用Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY类别列出的活动。要指定多个类别,请多次使用-c选项 - 每个类别一个-c选项。

    3、事件操作参数

    --pct-touch <percent>

    adb shell monkey -p com.android.example --pct-touch 50  1000 >d:monkeyLog.txt

    用于调整触摸事件占的百分比。

    --pct-motion <percent>

    调整运动事件的百分比 。

    --pct trackball <percent> 

    调整轨迹球事件占的百分比

    --pct-nav <percent>

    调整“基本”导航事件的百分比。(导航事件由上/下/左/右组成,作为来自方向输入设备的输入。)

    --pct-majornav <percent> 

    调整“主要”导航事件的百分比。(这些导航事件通常会导致UI中的操作,例如5向键盘中的中心按钮,后退键或菜单键。)

    --pct-appswitch <percent> 

    调整活动启动的百分比。在随机的时间间隔内,Monkey将发出一个startActivity()调用,作为最大化包中所有活动的覆盖范围的方法。

    --pct-anyevent <percent>

    调整其他类型事件的百分比。这是所有其他类型事件的全部功能,例如按键,设备上其他较少使用的按钮等等。

    4、调试参数

    --hprof 

    如果设置,此选项将在Monkey事件序列之前和之后立即生成分析报告。这将在data / misc中生成大(~5Mb)文件,因此请小心使用

    --ignore-crashes

    通常,当应用程序崩溃或遇到任何类型的未处理异常时,Monkey将停止。如果指定此选项,Monkey将继续向系统发送事件,直到计数完成。

    --ignore-timeouts

    通常,当应用程序遇到任何类型的超时错误(例如“应用程序无响应”对话框)时,Monkey将停止。如果指定此选项,Monkey将继续向系统发送事件,直到计数完成。

    --ignore-security-exceptions

    通常,当应用程序遇到任何类型的权限错误时,Monkey将停止,例如,如果它尝试启动需要某些权限的活动。如果指定此选项,Monkey将继续向系统发送事件,直到计数完成。

    --kill-process-after-error

    通常,当Monkey因错误而停止时,失败的应用程序将保持运行状态。设置此选项后,它将通知系统停止发生错误的进程。注意,在正常(成功)完成的情况下,启动的进程不会停止,并且设备在最终事件之后只是处于最后状态。

    --monitor-native-crashes

    观看和报告Android系统本机代码中发生的崩溃。如果设置了--kill-process-after-error,系统将停止

  • 相关阅读:
    异常空格处理
    django
    django的ORM理解
    Django前后端分离
    Django企业项目实战
    Centos7 从 git version 1.8.3.1升级git version 2.32.0 全过程
    代码 80070005 Windows Uudate 遇到未知错误
    Power Shell Active Directory 批量创建分组
    H3C S5024E-PWR-X 端口镜像及抓包实例
    FusionCompute 忘记密码 重置操作
  • 原文地址:https://www.cnblogs.com/changeMsBlog/p/9903937.html
Copyright © 2011-2022 走看看