zoukankan      html  css  js  c++  java
  • monkey基础 (1)

    Monkey简介

    在Android的官方自动化测试领域有一只非常著名的“猴子”叫Monkey,这只“猴子”一旦启动,就会让被测的Android应用程序像猴子一样活蹦乱跳,到处乱跑。人们常用这只“猴子”来对被测程序进行压力测试,检查和评估被测程序的稳定性。

    Android官方对这只“猴子”的描述是这样的:

    The Monkey is a program that runs on your emulator or device and generates pseudo-random streams of user events such as clicks, touches, or gestures, as well as a number of system-level events. You can use the Monkey to stress-test applications that you are developing, in a random yet repeatable manner.

    Monkey是一个程序,运行在您的模拟器或设备上,并生成伪随机的用户事件流,如点击,触摸或手势,以及一些系统级事件。 您可以使用Monkey以随机但可重复的方式对您正在开发的应用程序进行压力测试。

    monkey官方文档:http://www.android-doc.com/tools/help/monkey.html

    Moneky 路径

    Monkey程序是Android系统自带的,其启动脚本是位于Android系统的/system/bin目录的Monkey文件,其jar包是位于Android系统的/system/framework目录的Monkey.jar文件。用户主要是通过adb命令来启动Monkey的,Monkey在运行时,会根据命令行参数的配置,生成伪随机的事件流,并在Android设备上执行对应的测试事件。同时,Monkey还会对测试系统进行监测,当出现以下三种情况时会进行特殊处理:

    • 如限定了Monkey运行在特定包上,当监测到试图转到其他包的操作,将对其进行阻止。
    • 如应用程序崩溃或接收到任何失控异常,Monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行。
    • 如果应用程序发生了程序无响应(application not responding)的错误,Monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行。
    • 按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。

    Monkey启动步骤

    1. 连接移动设备
    2. 连接成功后输入命令
    adb shell
    
    1. 进入到指定目录
    cd /system/bin
    
    1. 输入 monkey命令看到如下提示则说明启动成功。
    usage: monkey **[-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]**
    
    ​       **[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]**
    
    ​       **[--ignore-crashes]** **[--ignore-timeouts]**
    
    ​       **[--ignore-security-exceptions]**
    
    ​       **[--monitor-native-crashes]** **[--ignore-native-crashes]**
    
    ​       **[--kill-process-after-error]** **[--hprof]**
    
    ​       **[--pct-touch PERCENT]** **[--pct-motion PERCENT]**
    
    ​       **[--pct-trackball PERCENT]** **[--pct-syskeys PERCENT]**
    
    ​       **[--pct-nav PERCENT]** **[--pct-majornav PERCENT]**
    
    ​       **[--pct-appswitch PERCENT]** **[--pct-flip PERCENT]**
    
    ​       **[--pct-anyevent PERCENT]** **[--pct-pinchzoom PERCENT]**
    
    ​       **[--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]**
    
    ​       **[--pkg-whitelist-file PACKAGE_WHITELIST_FILE]**
    
    ​       **[--wait-dbg]** **[--dbg-no-events]**
    
    ​       **[--setup scriptfile]** **[-f scriptfile [-f scriptfile] ...]**
    
    ​       **[--port port]**
    
    ​       **[-s SEED]** **[-v [-v] ...]**
    
    ​       **[--throttle MILLISEC]** **[--randomize-throttle]**
    
    ​       **[--profile-wait MILLISEC]**
    
    ​       **[--device-sleep-time MILLISEC]**
    
    ​       **[--randomize-script]**
    
    ​       **[--script-log]**
    
    ​       **[--bugreport]**
    
    ​       **[--periodic-bugreport]**
    
    ​       COUNT
    

    强制关闭monkey

    1. adb shell ps 查看全部在运行的进程
    2. 查找出com.android.commands.monkey 进程PID
    3. adb shell kill pid 杀掉monkey进程

    monkey 命令

    monkey命令格式如下:

    $ adb shell monkey [options] <event-count>
    
    • [options]是指monkey可传入的参数,是可选项(如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包)
    • <event-count>是指随机发送事件数。如:输入100就是执行100个伪随机事件,为必选项。
  • 相关阅读:
    项目工程化之git提交规范以及 CHANGELOG生成
    移动端 弹窗-内容可滚动,背景不动
    项目readme文件目录生成工具 treer
    css animation动画
    【网络】从套接字到Web服务器
    【网络】图解HTTP-1
    【MySQL】搞懂ACID原则和事务隔离级别
    【MySQL】备份与恢复
    【MySQL】索引
    【Redis】主从复制原理
  • 原文地址:https://www.cnblogs.com/dongye95/p/15310016.html
Copyright © 2011-2022 走看看