• Monkey 简介_连接_启动


    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中还可以看到其执行过程报告和生成的事件。

    这里我用的夜神模拟器演示

    一、手机连接上电脑的USB,(用模拟器省略此步骤)

    二、找到版本号 连续点击5次,如下图

    三、去开发者选项,打开USB调试

    三、电脑调出cmd命令窗,输入adb devices -l,如果出现下图,艾,我们开始解决问题

    这里是adb版本不同,我们找到SDK里的adb.exe命名后替换掉nox_adb.exe

    然后在重启一下夜神模拟器 和cmd 命令窗 再次输入adb devices -l, 如下图 就配置成功了

    Monkey启动步骤

    1、连接移动设备

    2、连接成功后输入命令

    adb shell

    3、进入到指定目录

    cd /system/bin

    4.输入 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个伪随机事件,为必选项。
     
  • 相关阅读:
    网络攻击技术:SQL Injection(sql注入)
    人生若只如初见,何事秋风悲画扇
    TCPClient、TCPListener的用法
    C#中时间的Ticks属性
    string.Empty、" "、null 三者之间的区别
    telnet的使用解析
    public DataTable ExecuteQuery(string sql) 这段话具体意思
    C#中三层架构UI、BLL、DAL、Model详解(送给自学的初学者)
    数据库三层架构
    获取SQL Server数据库的表结构的做法
  • 原文地址:https://www.cnblogs.com/niunai/p/10290512.html
Copyright © 2020-2023  润新知