前言:
很久之前,就听说了monkey;但是monkey是干什么用;如何使用;我们还是带着最简单的问题开始学习吧;
ps:我的博文格式变化了,阅读了很多博文,发现这个样式阅读起来很有条理,我也参考一下下。。呵呵--
【目录】
一: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,它将生成相同的事件序列;
等等。。。
3:约束选项
-p:指定一个或者多个包 (指定多个包,使用多个-p,每个-p选项只能用于一个包)
-c:指定一个或多个类别()
4:调试选项
--ignore-crashes:通常,当应用程序崩溃或者发生任何异常时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发生事件,直到计数完成
--ignore-timeouts:通常,当应用程序发生任何超时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。如果设置此选项,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
操作:
1:下载一个apk文件,可以在豌豆荚下载;
2:使用adb命令安装下载的apk文件(abd install + apk文件)
3:执行monkey命令(这里我用的是其它的app)
打印的日志太长,可以重定向到文件中;
日志文件如下:
本文学习的博文地址:
http://www.cnblogs.com/findyou/p/3940671.html#Mon03
http://blog.csdn.net/lfyx1357/article/details/7418133