一、 什么是Monkey
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随
机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
二、 环境搭建
1:下载sdk(类比java jdk) 文件较大
官网下载
<a href="http://jingyan.baidu.com/article/f71d603757965b1ab641d12a.html">sdk下载</a>
2:配置环境变量
在path中添加tools 和platform-tools的路径, 这2个文件夹的路径
详情参见百度经验:
<a href="http://jingyan.baidu.com/article/f71d603757965b1ab641d12a.html">sdk环境配置</a>
测试命令:
在cmd下执行 adb
三、 常用命令介绍:
adb devices 查看设备
adb install apk文件 安装app
四、monkey的使用 基本语法如下:
adb shell monkey [options]
如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。
例如:
adb shell monkey -p com.pingan.yzt -v --throttle 100 --pct-majornav 0.01 --ignore-crashes --ignore-timeouts --monitor-native-crashes 20000 ->./Desktop/cxf.log
五:常用命令简介
1) 参数: -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。
指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动
设备中的所有APP。
指定一个包:
adb shell monkey -p com.example.sellclientapp 100 adb shell monkey 1002)
参数: -s
用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列相同。
示例:
Monkey测试1:adb shell monkey -p com.htc.Weather –s 10 100
Monkey 测试2:adb shell monkey -p com.htc.Weather –s 10 100
两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成
的一系列操作,即一个序列)是一样的。
常用指令参数(后面需制定百分比 必须整形)
--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。
如:--throttle 100
--pct-touch:指定触摸事件的百分比
如:--pct-touch 5%
--pct-motion (滑动事件)
--pct-trackball (轨迹球事件)
--pct-nav (导航事件 up/down/left/right)
--pct-majornav (主要导航事件 back key 、 menu key)
--pct-syskeys (系统按键事件 Home 、Back 、startCall 、 endCall volumeControl)
--pct-appswitch (activity之间的切换)
--pct-anyevent (任意事件)常用异常处理指令(直接使用)
--dbg-no-events:初始化启动的activity,但是不产生任何事件。
--hprof:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:知道连接了调试器才执行monkey测试。
日志级别
-v,Level 0(缺省值),除启动提示、测试完成和最终结果之外,提供较少信息
-v -v,Level 1,提供较为详细的测试信息,如:逐个发送到Activity的事件
-v -v -v,Level 2,提供更加详细的设置信息,如:测试中被选中的或未被选中的Activity