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. dismount ASM磁盘组,影响未使用的其它ASM磁盘组

    # 问题概述登录数据库,查看活动会话,发现大量library cache lock ,log file switch (archiving needed),归档失败,redo log无法重用.# 问题 ...

  2. 在github上如何克隆带子模块的项目?

    使用命令git clone --recursive xxxx(项目地址).

  3. 15.网关Gateway

    创建网关的Module 使用注册中心和配置中心 详细可以参考另两篇篇博客-注册中心和配置中心 报错 编译报了这个错,原因是我们没有给网关配置数据库连接字符串,但是引用了common,common中有m ...

  4. 清理Linux系统无效的或者损坏的包

    参考:解决Linux的 [有1 个软件包没有被完全安装或卸载] 问题    ubuntu中卸载没有安装完全的软件包    Ubuntu安装.基本命令和常见故障处理 1. 1 apt-get insta ...

  5. 7. mixin的实现原理

    mixin的实现原理 在Vue.mixin()中的内容会被维护到Vue.options静态属性里面 然后通过mergeOptions以特定的合并策略将全局的属性和用户属性合并起来 在获取用户选项的时候 ...

  6. 复习第一点-1.跑通一个helloworld

    创建项目 导入需要的jar包 对编译出现的jar包处理 整理项目架构 编写配置文件中的内容 web.xml <?xml version="1.0" encoding=&quo ...

  7. nightwatch入门教程

    Nightwatch.js 是一个用来测试web应用和网站的自动化测试框架,它是由NodeJs编写的,使用了W3C WebDriver API(之前是Selenium WebDriver) 所以我们首 ...

  8. WPF-序列化

    public class SerializeHelper { #region 二进制格式 /// <summary> /// Binary 序列化使用前需要标记类可序列化 /// < ...

  9. a 标签下载文件重命名文件失效

    背景 : a标签下载cos桶文件download失效 原因:下载的链接跨域,download 属性重命名文件失效,浏览器无法获取到文件,无法进行更改. 解决办法: downloadFile(url, ...

  10. Tomcat启动报A fatal error has been detected by the Java Runtime Environment

    # # A fatal error has been detected by the Java Runtime Environment: # #  SIGSEGV (0xb) at pc=0x0000 ...