一:monkey的用途:主要用于稳定性测试,模拟用户操作

二、monkey的基本使用

monkey文档地址:"<android_sdk>/docs/tools/help/monkey.html>"

官网地址:http://developer.android.com/tools/help/monkey.html

monkey可以运行在模拟器上或实际设备中,它向系统发送伪随机事件流(如按键输入、触屏输入和手势输入),并对应用程序进行压力测试

两个步骤:

(1).进入abd shell

注意:若没有adb程序,下载adb程序;配置环境变量,用户环境变量里双击path,,把adb.exe路径添加进去;CMD命令,输入adb shell,运行后显示#,表示运行正常

(2)."/system/bin"路径下monkey脚本

用如下命令:

abd shell

cd/system/bin

monkey

三、参数

(1)<event-count>随机发送事件数

注意:<event-count>是事件数而不是随机数,只有当monkey传入脚本时,该值才是循环次数

(2)[option]可传入的参数

分类:常规类、事件类、约束类、调试类

常规类:

(3)adb shell monkey -h  显示monkey参数帮助信息

(4) -v:打印日志信息(log),每个-v增加反馈信息的级别,-v越多日志信息越详细,不过最多只能支持3个-v

如:adb shell monkey -v<event-count>

事件类:

(5) -f:后接脚本名,表示monkey运行的monkey脚本

如:adb shell monkey -f /mnt/sdcard/test 1

(6) -s:后接随机数生成器的seed值

如:adb shell monkey -s <seed> <event-count>

(7) --throttle:后面接时间,单位为ms,表示事件之间的固定延迟,若不接该选项,monkey将不会延迟

如:adb shell monkey --throttle <milliseconds>

(8) --ptc-touch:后面接触摸事件百分比(触摸事件不单单是按键,它泛指发生在某一位置的一个down-up)

如:adb shell monkey --ptc-touch<percent>

(9) --ptc-motion:后面接动作事件百分比(动作事件不单单是指手势操作,它泛指从某一位置按下,即down事件;后经过一系列伪随机事件后弹起,即up事件)

如:adb shell monkey --ptc-motion<percent>

(10) --ptc-trackball:后面接轨迹球事件百分比(轨迹球事件包括一系列的随机移动,以及偶尔随在移动后面的点击事件)

如:adb shell monkey --ptc-trackball<percent>

(11) --ptc-nav:后面接基本导航事件百分比(基本导航指设备中的上、下、左、右事件)

如:adb shell monkey --ptc-nav<percent>

(12) --ptc-majornav:后面接主要导航事件百分比(键盘中间按键、返回按键、菜单按键)

如:adb shell monkey --ptc-majornav<percent>

(13) --ptc-syskeys:后面接系统按键事件百分比(系统使用的保留按键,如:HOME键、BACK键、拨号键、挂断键、音量键)

如:adb shell monkey --ptc-syskeys<percent>

(14) --ptc-appswich:后面接应用启动事件百分比(打开应用,通过调用startactivity()方法最大限度地开启pacage下的素有应用)

如:adb shell monkey --ptc-appswich<percent>

(15) --ptc-anyevent:后面接其他类型事件百分比(keypress,不常用的button)

如:adb shell monkey --ptc-anyevent<percent>

约束类:

(16)-p:后面接一个或者多个包名

如:

1.adb shell monkey -p<allowed-package-name><event-count>

2.adb shell monkey -p com.xuben.test.settings 1000

(17) -c:后面接一个或者多个类别中

如:adb shell monkey -c<main-category><event-count>

调试类:

(18)--dbg-no-events:在设置此选项后,monkey将进行初始启动

如:adb shell monkey --dbg-no-events<event-count>

(19)--hprof:在设置选项后,将在monkey事件序列后立即生成profiling report

如:adb shell monkey --hprof<event-count>

如果希望monkey在应用程序崩溃后继续发送事件,则需要用到--ignore-crashes

如:adb shell monkey --hprof-crashes<event-count>

(20)--ignore-timeouts:在任何超时错误发生后继续发送事件()

如:adb shell monkey --ignore-timeouts<event-count>

(21)--ignore-security-exceptions:在应用程序权限错误发送后继续发送事件

如:adb shell monkey--ignore-security-exceptions<event-count>

(22)--kill-process-after-error:在应用程序出错后通知系统停止发送错误的进程

如:adb shell monkey--kill-process-after-error<event-count>

(23) --monitor-native-crahes:在设置此选项后,monkey运行时native code的崩溃事件将监听报告

例:压力测试APP

adb shell monkey -v -v -v  -p <包名> --throttle<每个指令之间延迟的间隔,毫秒> <随机事件>

安卓自动化测试工具一:Monkey的更多相关文章

  1. 安卓自动化测试工具Monkey简单使用

    一.首先安装adb 地址:http://www.downza.cn/soft/219906.html安装到D盘下,安装的过程中自己注意下不要安装上全家桶.找到这个压缩包:解压到当前文件夹: 二.将ad ...

  2. 安卓自动化测试工具MonkeyRunner之使用ID进行参数化,以及List选择某项和弹出框点击确定的写法

    一.List选择某项的操作步骤: 1.通过父结点得出列表各子项 2.将选择项的文本与列表中的子项进行比较 3.计算出选择项的坐标位置 截取实例: from com.android.monkeyrunn ...

  3. Android自动化测试基础知识——MONKEY测试工具(转的)

    本周开始启动手机输入法simeiji的自动化测试,同时开始接触手机浏览器自动化测试.接下来会对android自动化测试工具和方法做一个专题研究. 第一篇介绍monkey测试工具. 1 自动化测试背景 ...

  4. Android自动化测试工具调研

    原文地址:Android自动化测试工具调研 - Stars-One的杂货小窝 Android测试按测试方式分类,可分为两种:一种是传统逻辑单元测试(Junit),另外一种则是UI交互页面测试. 这里详 ...

  5. Android 手机自动化测试工具有哪几种?

    1.Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出.实际上该工 ...

  6. 老李分享:android app自动化测试工具合集

    老李分享:android app自动化测试工具合集   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...

  7. 推荐五款Android 应用的自动化测试工具

    如今自动化测试已经应用到每天的测试中.这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏. 自动化测试工具选择很多.一些是开源的,一些非常贵.一些自动化工具是几 ...

  8. APP移动端自动化测试工具选型“兵器谱”一览(主流开源工具)

    (下面大多数工具都是开源工具,在github,码云等开源平台都能找到) "测试那点事儿”在看到360旗下的测试团队整理的关于目前APP移动端自动化相关的工具,觉得总结的很到位,对目前大多数中 ...

  9. 2019最好用的自动化测试工具Top 10,果断收藏!

    经常有人在公众号留言或是后台问我,做自动化测试用哪个工具好,或是学哪门编程语言好呢? 这个时候总是无奈的说: 你应该学习Python 或是Java. 你应该掌握Selenium. 又或者你需要学会jm ...

随机推荐

  1. HBase MVCC 代码阅读(一)

    MultiVersionConcurrencyControl.java,版本 0.94.1 MultiVersionConsistencyControl 管理 memstore 中的读写一致性.该类实 ...

  2. JavaScript原生数组函数

    有趣的JavaScript原生数组函数 在JavaScript中,可以通过两种方式创建数组,构造函数和数组直接量, 其中后者为首选方法.数组对象继承自Object.prototype,对数组执行typ ...

  3. Java菜鸟学习笔记--面向对象篇(十八):对象转型&多态

    Polymorphism[多态] 简述: 面向对象多态性指的是:发送消息给某个对象,让该对象自行决定响应何种行为. 通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用 多态的三个前提条件: 多 ...

  4. c#实现Google账号登入授权(OAuth 2.0)并获取个人信息

    c#实现Google账号登入授权(OAuth 2.0)并获取个人信息   此博主要介绍通过google 账号(gmail)实现登入,授权方式OAuth2.0,下面我们开始介绍. 1.去google官网 ...

  5. 使用MMS(MongoDB Monitoring Service)监控MongoDB

    使用MMS(MongoDB Monitoring Service)监控MongoDB 一.MongoDB简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可 ...

  6. 初试KONCKOUT+WEBAPI简单实现增删改查

    初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...

  7. Javascript 封装问题

    Javascript 封装问题 为什么会用这样一个题目呢,这是要说封装的什么问题,本文并不讲高深的封装理论,只是解决一个小问题. 问题来源 今天在百度知道上闲逛,遇到一个网友的问题,问题如下,问题的地 ...

  8. SQL Server 2008 维护计划实现数据库备份

    SQL Server 2008 维护计划实现数据库备份(最佳实践) 2013-08-29 09:08 by 听风吹雨, 173 阅读, 2 评论, 收藏, 编辑 一.背景 之前写过一篇关于备份的文章: ...

  9. Easyui + asp.net MVC 系列教程 完成登录

    Easyui + asp.net MVC 系列教程 第09-17 节 完成登录 高清录制 前面八节 在这里 Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门 在接下 ...

  10. 还原数据时出现的“FILESTREAM功能被禁用”问题

    解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题 解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题 今天由于测试需要,在网上下载了Adven ...