monkey测试精华(手把手教)_第1页
monkey测试精华(手把手教)_第2页
monkey测试精华(手把手教)_第3页
monkey测试精华(手把手教)_第4页
monkey测试精华(手把手教)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、monkey测试是啥呢?monkey是的英文名,monkey测试就测试啦,拿着手机能干哈子啊,当然是感到好奇、一顿乱点啦,没有目的的进行操作! 言归正传一、What is the MonkeyMonkey 是Android SDK 中附带的一个工具Monkey测试的原理:利用socket通讯(Android客户端和服务器以TCP/UDP方式)的方式来模拟用户的按键输入、触摸屏输入、手势输入等Monkey测试的目的:该工具可进行压力测试,更多的是一种随机测试和稳定性测试;开发人员可以结合Monkey打印的日志和系统打印的日志来分析测试的结果二、Monkey的特征1、 测试的对象仅为应用程序包,有

2、一定的局限性。2、 Monkey测试使用的事件流数据流是随机的,不能进行自定义。3、 可对MonkeyTest的对象、事件数量、类型、频率等进行设置三、关于Monkey测试的停止条件Monkey Test执行过程中在下列三种情况下会自动停止:1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。3、如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。通过多次并且不同设定下的Monkey测试才算它是一个稳定性

3、足够的程序四、Monkey的命令Monkey可分四大类:常用选项、事件选项、约束选项、调试选项1、常用选项-help : 打印帮助信息 monkey命令的简单帮助:adb shell monkey -help-v :用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别日志级别 Level 0 示例:adb shell monkey -p com.htc.Weather -v 100日志级别 Level 1 示例:adb shell monkey -p com.htc.Weather -v -v 100 日志级别 Level 2 示例:adb shell monkey -p com

4、.htc.Weather -v -v -v 1002、事件选项-s : 用于指定伪随机数生成器的seed(种子)值,如果seed相同,则两次monkey测试所产生的事件序列也相同示例:adb shell monkey -p com.htc.Weather -s 10 100-throttle:每个事件结束后的间隔时间降低系统的压力(如不指定,系统会尽快的发送事件序列)如:-throttle 100-pct-touch:指定触摸事件的百分比,如:-pct-touch 5% , 相关的还有以下option:-pct-motion (滑动事件)、-pct-trackball (轨迹球事件) 、 -p

5、ct-nav (导航事件 up/down/left/right)、-pct-majornav (主要导航事件 back key 、 menu key)、 -pct-syskeys (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、-pct-appswitch (activity之间的切换)、 -pct-anyevent (任意事件)3、约束选项-c: activity必须至少包含一个指定的category,才能被启动,否则启动不了-p: 用于约束限制,用此参数指定一个或多个包如:指定一个包:adb shell monkey -p

6、com.example.sellclientapp 100指定多个包:adb shell monkey -p com.htc.Weather -p com.htc.pdfreader 100说明:com.example.sellclientapp为包名,100是事件计数(即让monkey程序模拟100次随机用户事件)要查看设备中所有的包,在CMD窗口中执行以下命令:4、调试选项-dbg-no-events:初始化启动的activity,但是不产生任何事件。-hprof:指定该项后在事件序列发送前后会立即生成分析报告 一般建议指定该项。-ignore-crashes:忽略崩溃-ignore-ti

7、meouts:忽略超时-ignore-security-exceptions:忽略安全异常-kill-process-after-error:发生错误后直接杀掉进程-monitor-native-crashes:跟踪本地方法的崩溃问题-wait-dbg:直到连接了调试器才执行monkey测试五、Monkey测试实例(一)通过此实例,我们能理解Monkey测试的步骤以及如何判断哪些应用程序能够使用Monkey进行测试6G6%88%EO9HUR4RZTFU.png602x580 13.6 KB 六、Monkey测试实例(二)1、前提条件:启动一个 Android 的模拟器打开DOS窗口,在命令行使

8、用adb devices查看设备是否连接?2、查看模拟器data/data文件夹的应用程序包,此目录下的应用程序包,我们都可以使用monkey进行测试,如下所示:3、可以选择一个应用程序包作为测试对象,如我们选择com.android.camera 相机应用作为测试对象4、使用monkey 命令执行测试monkey -p com.android.camera -v 50其中-p 表示对象包,-v 表示反馈信息的级别,50 表示事件数量。5、在运行中,输入运行代码: monkey -pct-nav 100 -v 500 -p com.android.alarmclock其中pct-nav 100

9、 表示全部产生基本按键事件,-p 表示对象包,-v 表示反馈信息的级别,500 表示事件数量,执行部分结果,注意pct-nav 前面是两个“-”,如下图所C:Documents and Settings9158.feng>adb shell monkey -p com.a.a -s 500 -ignore-timeouts -ignore-security-exceptions -ignore-native-crashes -monitor-native-crashes -v -v -v 50000 >C:log.txt指令的含义:测试的应用程序为com.a.a,事件间的延时为50

10、0毫秒,三个 -v 表示输出的MonkeyLog的级别为最高,即输出最详尽的Monkey Log,测试的事件次数为50000次 ,Log保存在C盘的log.txt 代码解析如下(类似)例如:adb shell monkey -p com.xy.android.junit -s 500 -ignore-crashes -ignore-timeouts -monitor-native-crashes -v -v 10000 > E:monkey_logjava_monkey_log.txt说明:monkey作用的包:com.xy.android.junit产生时间序列的种子值:500忽略程序崩溃 、 忽略超时 、 监视本地程序崩溃 、详细信息级别为2 , 产生 10000个事件所产生的日志保存在:E:monkey_logjava_monkey_log.txt注:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论