前置准备:

  adb:用来连接安卓手机和PC端的桥梁,要有adb作为两者之间的维系,才能在电脑对手机进行全面的操作。(adb push 文件路径 到手机路径  adb pull 从手机拉取到电脑)

monkey需要安装吗?

  1、电脑安装adb,命令行输入monkey命令

  2、android自带monkey,所以安卓手机是不用再安装的

monkey使用的场景:

  等产品稳定,没有特别多bug的时候,一般会使用monkey测试应用的稳定性、健壮性(是否会发生闪退、崩溃);整机测试

monkey常用的命令:

  第一: -p:指定运行的报名   如:adb shell monkey -p con.lenmon.cn

     要同时运行两个包时,使用两个-p  -p 第一个包名 -p 第二个包名

  第二: -s 设置种子数 (相当于设置一个路径,因为monkey是随机事件,所以为了使回归路径一致就需要设置相同的seed值)

      即:第一次设置 -S 为10(点击>翻转>点击导航出现了ANR),第二次复现时,只需要设置相同的-s 10

     主要作用:用于复现问题  adb shell monkey 100 -5

  第三:-v 设置日志级别最多 (-v:较简单的日志 -v-v 内容较多的日志 -v-v-v 日志最全)常用三个-v

  第四:--throllte 延时,可理解为两个操作时间之前相隔的时间

       在指定时间范围内,随机延时 --randomize-throttle,例如:要设置在5s内随机延时:--throllte 5000 --randomize--throllte

  第五:白名单--pkg-whitelist-file:只执行白名单文件里面的包/apk  adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt

     黑名单--pkg-blacklist-file :不执行黑名单文件里面的包/apk     adb shell monkey --pkg-blacklist-file /data/local/tmp/blacklist.txt

  第六:忽略命令

    --ignore-crash :  忽略奔溃

    --ignore-timeout  忽略超时

    --ignore-security-expections:忽略许可  这三个建议都加上

  第七:设置事件百分比,所有的百分比加起来不能超过100%

    0:触摸事件百分比,即参数--pct-touch
    1:滑动事件百分比,即参数--pct-motion
    2:缩放事件百分比,即参数--pct-pinchzoom
    3:轨迹球事件百分比,即参数--pct-trackball
    4:屏幕旋转事件百分比,即参数--pct-rotation
    5:基本导航事件百分比,即参数--pct-nav
    6:主要导航事件百分比,即参数--pct-majornav
    7:系统事件百分比,即参数--pct-syskeys
    8:Activity启动事件百分比,即参数--pct-appswitch
    9:键盘翻转事件百分比,即参数--pct-flip
    10:其他事件百分比,即参数--pct-anyevent
  例:adb shell monkey --pct-touch 20 -100

monkey介绍及常用命令的更多相关文章

  1. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  2. redis 介绍和常用命令

    redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...

  3. webpack 介绍 & 安装 & 常用命令

    webpack 介绍 & 安装 & 常用命令 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二:webpack 介绍&安装 webpa ...

  4. 【Monkey】Monkey稳定性测试常用命令

    Monkey稳定性测试常用命令: 1.adb shell monkey n 2.adb shell monkey -p  com.android.calculator2 1000 3.adb shel ...

  5. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  6. vim编辑器介绍及其常用命令

    vim简单的介绍 Vim 编辑器是一个模式编辑器 . 这意味着在不同状态下编辑器有不同的行为模式 . 两个基本的模式是 Normal 模式和 Insert 模式 ,还有可视模式. 在 Normal 模 ...

  7. [Python]Conda 介绍及常用命令

    一.介绍 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算.数据分析的 Python 包.其使用conda系统进行 ...

  8. webpack学习(一):webpack 介绍&安装&常用命令

    一.简单介绍 什么是Webpack Webpack是一款用户打包前端模块的工具,它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 主要是用来打包在浏览器端使用的ja ...

  9. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

随机推荐

  1. 【Linux】【Services】【SaaS】Docker+kubernetes(11. 构建复杂的高可用网络)

    1. 简介 flannel在实战阶段貌似不能胜任在灾难恢复时候异地的网络,打算用openvswith试试

  2. 【Linux】【Services】【Package】编译安装

    程序包编译安装:         testapp-VERSION-release.src.rpm --> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装:         ...

  3. Linux上用Jexus部署Asp.Net网站:常规部署与Docker部署

    (一)常规部署 一.把 jexus压缩包下载到linux临时文件夹中. cd /tmp wget linuxdot.net/down/jexus-6.2.x-arm64.tar.gz (不同的操作系统 ...

  4. Next_day()函数的用法

    一.定义 NEXT_DAY(date,char)  date参数为日期型,  char:为1~7或Monday/Mon~Sunday/    指定时间的下一个星期几(由char指定)所在的日期,  c ...

  5. springmvc框架找那个@responseBody注解

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><html& ...

  6. logstash 正则表达式

    正则表达式 3. 使用给定好的符号去表示某个含义 4. 例如.代表任意字符 5. 正则符号当普通符号使用需要加反斜杠 正则的发展 6. 普通正则表达式 7. 扩展正则表达式 普通正则表达式 . 任意一 ...

  7. ciscn_2019_s_3 一道收获很多的题(进步大只能说明基础差)

    32位与64位 系统调用的区别: 1. 传参方式不同 2. 系统调用号 不同 3. 调用方式 不同 32位: 传参方式:首先将系统调用号 传入 eax,然后将参数 从左到右 依次存入 ebx,ecx, ...

  8. CSAPP 并发编程读书笔记

    CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...

  9. AT4151 [ABC099B] Stone Monument 题解

    Content 一个村里有 \(999\) 个房子,第 \(i\) 个房子的高度为 \(1+2+...+i=\sum\limits_{j=1}^ij\).现在下了一场雪,给定相邻两个房子没被雪覆盖的高 ...

  10. java 多线程 :ThreadLocal 共享变量多线程不同值方案;InheritableThreadLocal变量子线程中自定义值,孙线程可继承

      ThreadLocal类的使用 变量值的共享可以使用public static变量的形式,所有的线程都是用同一个public static变量.如果想实现每一个线程都有自己的值.该变量可通过Thr ...