Android Monkey的用法(一)

 

Monkey 简介

ü  Monkey 是一个命令行工具,可以运行在 Android 模拟器里或真实设备中。它可以向系统发送伪随机(pseudo-random)的用户事件流(如按键输入、触摸屏输入、手势输入等),可以对待测的目标应用或整个 Android 系统进行压力测试。因此 Monkey 测试是一种为了测试软件的稳定性、健壮性的快速有效的方法

ü  基本语法:adb shell monkey [options] <event-count>

如果不指定options,即类似于使用命令adb shell monkey 1000,那么将会对整个系统中安装的 package 发送事件流,换种说法就是对整个 Android 系统进行 Monkey 压力测试

如下是对指定应用(第三方应用易测app)进行 Monkey 测试的例子,发送的事件流数目为1000:

adb shell monkey -p com.alibaba.easytest 1000

1|[email protected]:/ #
monkey -p com.alibaba.easytest 1000

monkey -p
com.alibaba.easytest 1000

// activityResuming(com.alibaba.easytest)

// activityResuming(com.alibaba.easytest)

// activityResuming(com.alibaba.easytest)

// activityResuming(com.alibaba.easytest)

Events injected:
1000

## Network stats:
elapsed time=40435ms (40435ms mobile, 0ms wifi, 0ms not connected)

Monkey 命令选项

ü  获取选项列表,Android 4.4版本中输入adb shell monkey,会显示选项列表如下:使用getprop获取版本号

ü  常用选项及参数说明

ü  -p 允许的包名列表,可同时指定多个包名,每个包都需要使用“-p”参数指定。包名的获取,可参考 python 脚本get_package_name.py

ü  —ignore-crashes 忽视应用 crash 报错,不指定该参数时,应用出现 crash,monkey 会自动停止发送事件,指定该参数后,monkey 会在 crash 后也一直发送事件,知道所有事件发送完成

ü  —ignore-timeouts 忽视超时导致的错误,即ANR的错误

ü  —ignore-security-exceptions 忽视权限方面的错误

ü  —monitor-native-crashes 监控由 C/C++ 代码引起的
crash

ü  —ignore-native-crashes 忽视由 C/C++ 代码引起的
crash

ü  —kill-process-after-error 当出现错误后杀掉应用的进程

ü  —hprof 指定该选项后,monkey会在发送事件完成后生成性能报告,报告一般存放于/data/misc目录下,对报告的分析,需要使用Traceview

ü  —pct-touch 设定 touch 事件比例

ü  —pct-motion 设定手势事件比例,例如滑动事件

ü  —pct-trackball 设定跟踪球事件的比例

ü  —pct-syskeys 设定系统按键事件的比例,如 Home、Back、音量+/-等

ü  —pct-nav 设定”基本”导航事件的比例

ü  —pct-majornav 设定”主要”导航事件比例

ü  —pct-appswitch 设定启动 Activity 的事件比例

ü  —pct-pinchzoom 设定缩放事件比例

ü  —pct-anyevent 设定其他事件比例

ü  -s 设定种子数,方便用于重现 bug

ü  -v 设定输出信息的详细级别,1个
-v 表示级别为1,2个 -v 表示级别为2

ü  —throttle 设定事件之间的延时,单位为毫秒

ü  COUNT 事件数目

结束Monkey进程

执行
Monkey 的过程中如果想中途停止 Monkey 程序的运行,需要将 Monkey 的进程杀掉。

ü  windows 下使用findstr,linux/mac 下用grep

ü  执行adb shell ps |
findstr monkey

ü  获取到 monkey 进程的 pid 之后运行adb shell kill 进程ID

时间: 2024-12-16 01:11:45

Android Monkey的用法(一)的相关文章

Android Monkey的用法

Android Monkey Monkey 简介 Monkey官方文档(需要翻墙) Monkey源码 Monkey是一个命令行工具,可以运行在Android模拟器里或真实设备中.它可以向系统发送伪随机(pseudo-random)的用户事件流(如按键输入.触摸屏输入.手势输入等),可以对待测的目标应用或整个Android系统进行压力测试.因此Monkey测试是一种为了测试软件的稳定性.健壮性的快速有效的方法 基本语法: $ adb shell monkey [options] <event-co

玩转Android monkey之monkey是啥?monkey=猴子?

引子 从本次开始小编将带你学习Android monkey的用法,我们仍然保持尽可能简洁明了的告诉大家.也欢迎大家有好文章投稿给我们,有红包奖励哦.投稿邮箱:[email protected],备注投稿 monkey是啥?monkey=猴子? monkey是一个命令,是发送伪随机用户事件的.这里特别要说明,既然是随机事件也就是说你没法控制ta点击哪里.如果你想控制那就去修改源码. monkey需要安装(好多人问这个问题)?其实都带着呢....只需要通过adb就可以和手机进行交互了 adb又是啥?

Android WIFI 简单用法

随着Wifi的普及,在开发App的时候对wifi的考虑越来越多了.例如程序的升级在wifi下可以省很多流量,在通信软件中的视频通话.可以实现高画质的传输等等,Android提供了WifiManager类来帮助开发者们管理Wifi.下面就简单来说一下WifiManager的简单用法把. 权限: 为了使用WfiManager 我们需要在Androidmanifest.xml 加入权限: //本例中使用了前两个.具体请按照需要添加权限. <uses-permission android:name=&quo

Android multipartentity的用法

最近写一个程序,android手机端上传多个图片到asp.net服务器端,使用httpclient,在网上查到了使用multipartentity.上传测试时总是出现(500)Internal Server Error,最后查出原来是文件大小超出了服务器限制,在项目的web.config中添加: <system.web> <HttpRuntime maxRequestLength="409600"  executionTimeout="60" /&

Android之Fragment用法

本文翻译自Android developer网站上面,原文参考:Building a Dynamic UI with Fragments 当我们需要动态的多界面切换的时候,就需要将UI元素和Activity融合成一个模块.在2.3中我们一般通过各种Activity中进行跳转来实现多界面的跳转和单个界面动态改变.在4.0或以上系统中就可以使用新的特性来方便的达到这个效果--Fragment类.Fragment类似一个嵌套Activity,可以定义自己的layout和自己的生命周期. 多个Fragm

Android TabHost(简易用法)

前言 欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net 雨季o莫忧离:http://blog.csdn.net/luckkof 正文 Tab应用的结构 TabHost的Activity的结构如下: <?xml version="1.0" encoding="utf-8"?> <!-- 定义TabHost组件 --> <LinearLayout

android monkey

# 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-

Android之Adapter用法总结

http://blog.csdn.net/fznpcy/article/details/8658155 Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid View)等地方都需要用到Adapter.如下图直观的表达了Data.Adapter.View三者的关系: Android中所有的Adapter一览: 由图可以看到在Android中与Adapter有关

Android之Adapter用法总结(转)

Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid View)等地方都需要用到Adapter.如下图直观的表达了Data.Adapter.View三者的关系: Android中所有的Adapter一览: 由图可以看到在Android中与Adapter有关的所有接口.类的完整层级图.在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的扩展.比较常用