Monkey

通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,Monkey 主要用于Android 的压力测试  自动的一个压力测试小工具, 主要目的就是为了测试app 是否会Crash

缺点:不支持条件判断,也不支持读取待测界面的信息来执行验证操作

Monkey参数

参数说明:

基础参数:

1.-p

指定待测包,monkey将只允许系统启动指定APP,若不指定包,monkey将允许系统启动设备中的所有APP

指定一个包:adb shell monkey -p 包名 100

指定多个包:adb shell monkey -p 包1 -p 包2 100

2.-v

指定反馈信息级别,-v(少量信息), -v -v(较详细信息), -v -v -v(最详细信息)

3.-s

用于指定伪随机数生成器的seed值,如果seed值相同,则两次monkey测试产生的时间序列也相同

4.--throttle

用于指定事件的时延,单位毫秒,若不指定,monkey会尽可能快的生成和发送消息

例子:adb shell monkey -p 包名 -s 123456 -v -v -v --throttle 200 1000 > monkey_log.txt

发送事件类型(值类型为百分比):

1.--pct-touch:触摸事件

2.--pct-motion:动作事件

3.--pct-trackball:轨迹事件

4.--pct-nav:导航事件

5.--pct-syskeys:系统按键

6.--pct-anyevent:其他类型事件

调试选项:

常用:

  1. 程序崩溃后继续执行:--ignore-crashes
  2. 超时后继续执行:--ignore-timeouts
  3. 发生异常后继续执行:--ignore-security-exception

Monkey日志分析

正常情况:若monkey测试顺利执行,在log日志文件最后会打印执行次数和执行所花费事件(Monkey finished 代表测试执行完成)

异常情况:

1.ANR:程序未响应

2.Exception:异常

3.Crash:崩溃、闪退

Monkey使用aapt查看apk包名(在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool)

aapt dump badging C:\apk\xx.apk

运行后会有包名package和入口activity名称:

package: name=xx.xx.xx’
launchable-activity: name=’xx.xx.xx’

【Monkey】Monkey命令与使用的更多相关文章

  1. android 自动化压力测试-monkey 3 命令参数

    使用monkey help 命令查看命令参数,如下: C:\Users\chenfenping>adb shell monkey -help usage: monkey [-p ALLOWED_ ...

  2. Monkey学习笔记<四>:Monkey服务器命令

    #使用如下命令将本地pc和手机连接起来 adb shell monkey --port 1080 adb forward tcp 1080:tcp 1080 telnet localhost 1080 ...

  3. adb、monkey常用命令

    adb.monkey常用命令 1.查看连接设备 adb devices 2.连接android模拟器 adb connect 127.0.0.1:62001 3.安装软件 adb install 这个 ...

  4. Monkey常用命令详解

    使用monkey help 命令查看命令参数,如下: C:\Users\chenfenping>adb shell monkey -help usage: monkey [-p ALLOWED_ ...

  5. Monkey&Monkey Runner使用

    adb shell monkey -p com.ajb.sp -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v ...

  6. monkey常用命令实例

    一.常用命令的使用 1.monkey进行压力测试的命令是什么呢? adb shell monkey -p <packagename> <count> eg: adb shell ...

  7. adb monkey测试 命令

    adb shell monkey -p cn.com.linktrust.als.ipad 3500 LOWED_PACKAGE [-p ALLOWED_PACKAGE] ...] [-c MAIN_ ...

  8. Monkey Test 命令使用

    1.  命令使用 Monkey是一个命令列工具 ,可以运行在仿真器里或实际设备中.它向系统发送伪随机的使用者事件流,实现对正在开发的应用程序进行压力测试.Monkey包括许多选项,它们大致分为四大类: ...

  9. Monkey基础命令

    最近一直在看关于自动化测试的文章和工具,这是之前学习monkey的一些知识,想总结一下,方便以后查看,当然也可以提供一些参考.monkey 适合做压力测试,我们可以发送命令让它自己运行,并且指定运行动 ...

  10. Monkey服务器命令

随机推荐

  1. Docker 架构演进之路

    转载:https://developer.aliyun.com/article/673009 前言 Docker已经推出了5年,在这5年中它极大的改变了互联网产品的架构,推进了新的产品开发.测试和运维 ...

  2. Codeforces Round #757 (Div. 2) - D2. Divan and Kostomuksha (hard version)

    GCD + DP + 调和级数/埃式筛 [Problem - D - Codeforces](https://codeforces.com/contest/1610/problem/D) 题意 给出一 ...

  3. VUE学习-mixin混入

    mixin混入 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能. 组件式混入 // 定义一个混入对象 var myMixin = { created: functi ...

  4. rabbitmq的Exchange类型案例

    一.direct(将消息转发到指定Routing key的Queue上,Routing key的解析规则为精确匹配) publish代码 consumer代码,绑定了另一个队列 优先启动publish ...

  5. Curl 命令举例

    curl是一个强大的网络请求lib,虽然强大,但是参数太多哈,不得不吐槽,下面列举一下常用使用方法,供大家CV POST 请求 入门: curl -X POST "http://localh ...

  6. C# 设置桌面为父窗口

    #region 设置桌面为父窗口 IntPtr hDesktop; public const int GW_CHILD = 5; public IntPtr GetDesktopHandle(Desk ...

  7. 记一次修改dotnet-cnblogs图片路径的正则匹配规则

    大佬的GitHub 前言   因为最近一时心血来潮,学了markdown,我觉得但凡是个人,对于不用word或html就可以有不错的排版,而且使用起来简单便捷,都会投向markdown的怀抱中的.又因 ...

  8. Kubernetes--Pod节点选择器nodeSelector(标签)

    Pod节点选择器是标签及标签选择器的一种应用,它能够让Pod对象基于集群中工作节点的标签来挑选倾向运行的目标节点. Kubernetes的kube-scheduler守护进程负责在各工作节点中基于系统 ...

  9. springboot+mybatis实现增删改查

    开发工具IDEA 一.创建springboot项目(可以百度或者点击查看) 二.添加依赖pom.xml 1 <?xml version="1.0" encoding=&quo ...

  10. 利用XtraBackup实现PXC数据库的热备份

    PXC 容器中安装XtraBackup apt-get updata 1.在宿主机创建数据库卷,将数据卷映射到某个数据库的节点上 docker volume create backup 2.暂停nod ...