前言:
很久之前,就听说了monkey;但是monkey是干什么用;如何使用;我们还是带着最简单的问题开始学习吧;
ps:我的博文格式变化了,阅读了很多博文,发现这个样式阅读起来很有条理,我也参考一下下。。呵呵--
【目录】
一:Monkey简介
二:Monkey的特性
三:Monkey的命令参数说明
四:Monkey使用实例
一:Monkey简介
说:monkey是一只调皮的猴子,在app中乱按、乱摸、乱跳;
模拟用户触摸屏幕、滑动轨迹球、按键等操作;对模拟器或者手机上的软件进行压力测试;
检测软件的稳定性、健壮性;
原理:向系统发送伪随机的用户事件流(按键输入、触摸输入、手势输入),对测试软件进行压力测试;
二:Monkey的特性
(1)测试的对象仅为应用程序包(apk包,)有一定的局限性;
(2)Monkey测试使用的事件流、数据流是随机的,不能进行自定义;
(3)可以对MonkeyTest的对象、事件数量、类型、频率等进行设置;
虽然Monkey工具并不完善,但是足以应付应用程序的基本测试需要了;如果需要功能更强大的测试工具的话,使用Monkey的进化版本MonkeyRunner;
三:Monkey的命令参数说明
Monkey包括许多选项,大致分为四大类
1:基本选项
-help 打印帮助文档
-v :指定打印信息的详细级别;一个-v增加一个级别。
-v :Level 0,缺省值,仅提供启动提示,测试完成和最终结果等少量信息
-v -v :Level 1,提供较为详细的日志,包括每个发送到的Activity的事件信息
-v -v -v:Level 2,最详细的日志,包括了测试中选中/未选中的Activity信息
2:事件选项
-s :伪随机数生成器的seed值。如果用相同的seed值再次运行Monkey,它将生成相同的事件序列;
--throttle <毫秒>:事件之间插入延迟。通过该选项可以减缓Monkey的执行速度;如果不指定该选项,Monkey将不会被延迟,事件将尽快地被产生;
--pct-touch:调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)
--pct-motion:调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)
--pct-trackball:调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)
--pct-nav:调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)
--pct-majornav:调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
--pct-syskeys:调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)。
--pct-appswitch:调整启动Activity的百分比
--pct-anyevent:调整其它类型事件的百分比
3:约束选项
-p:指定一个或者多个包 (指定多个包,使用多个-p,每个-p选项只能用于一个包)
-c:指定一个或多个类别()
4:调试选项
--ignore-crashes:通常,当应用程序崩溃或者发生任何异常时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发生事件,直到计数完成
--ignore-timeouts:通常,当应用程序发生任何超时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发生事件,直到计数完成
--ingore-security-exceptions:通常,当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,Monkey将停止运行。如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成
-kill-process-after-error:通常,当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。当设置了此选项时,将会通知系统停止发生错误的进程。注意,正常的(成功的)结束,并没有停止启动的进程,设备只是在结束事件之后,简单地保持在最后的状态。
--monitor-native-crashes:监视并报告Android系统中本地代码的崩溃事件。如果设置了--kill-process-after-error,系统将停止运行。
--wait-dbg:停止执行中的Monkey,直到有调试器和它相连接。
四:Monkey使用实例
(1)指定一个包:adb shell monkey -p package 1000
(2)seed值:adb shell monkey -p package -s 10 1000
(3)日志级别:adb shell monkey -p package -v -v 1000
打印的日志太长,可以重定向到文件中;
日志文件如下:
本文学习的博文地址:
http://www.cnblogs.com/findyou/p/3940671.html#Mon03
http://blog.csdn.net/lfyx1357/article/details/7418133