Android测试第二节Monkey工具

寸阳分阴须爱惜,休负春色与时光。这篇文章主要讲述Android测试第二节Monkey工具相关的知识,希望能为你提供帮助。
        最近开始研究android测试的Monkey工具,因接触时间很短,还有很多不足之处,希望能和大家多多交流。
● 什么是Monkey 
        Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随
机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。


●  Monkey用来做什么
        Monkey 主要用于Android 的压力测试自动的一个压力测试小工具,主要目的就是为了测试app 是否会Crash. 


●  Monkey程序介绍
    (1) Monkey程序由Android系统自带,使用java诧言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar;   
    (2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;  
    (3)Monkey 命令启动方式:     
      a.可以通过PC机CMD窗口中执行: adb shell monkey{+命令参数}来进行Monkey测试
      b.在PC上adb shell 进入Android系统,通过执行 monkey {+命令参数}来进行Monkey测试         c.在Android机或者模拟器上直接执行monkey 命令,可以在Android机上安装Android终端模拟器


●  Monkey的架构
        Monkey 运行在设备或模拟器上面,可以脱离PC运行(普遍做法是将monkey作为一个像待测应用发送 随机按键消息的测试工具。验证待测应用在这些随机性的输入面前是否会闪退或者崩溃)

Android测试第二节Monkey工具

文章图片



● Monkey参数大全
Android测试第二节Monkey工具

文章图片

● Monkey 命令、基本参数介绍


- p < 允许的包名列表>                  
        用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app。如果不指定
包,monkey将允许系统启动设备中的所有app。  
指定一个包:adb shell monkey -p  com.shjt.map 100    
指定多个包:adb shell monkey -p fishjoy.control.menu  –p  com.shjt.map  100   
 
- v               
        用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示: 
Level 0 :adb shell monkey -p com.shjt.map -v 100       // 缺省值,仅提供启动提示、测
试完成和最终结果等少量信息 
   
Level 1 :adb shell monkey -p  com.shjt.map -v  -v 100   // 提供较为详细的日志,包括每
个发送到Activity的事件信息


Level 2 :adb shell monkey -p  com.shjt.map -v -v -v 100 // 最详细的日志,包括了测试中选中/
未选中的Activity信息

- s(随机数种子)                       
        用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。示例:
monkey测试1:adb shell monkey -p  com.shjt.map –s 10 100
                               
monkey测试2:adb shell monkey -p  com.shjt.map –s 10 100  

--throttle < 毫秒>                        
        用于指定用户操作(即事件)间的时延,单位是毫秒;如果丌指定这个参数,monkey会尽可能快的 生成和发送消息。
示例:adb shell monkey -p  com.shjt.map --throttle 3000 100    



● Monkey查看包名
  1)手机中安装APK包名查看器
   
  2)源码下的AndroidManifest.xml文件查看 
 
  3)aapt命令查看


●  Monkey日志分析
正常情况,如果Monkey测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间; // Monkey finished 代表执行完成\
 
异常情况
Monkey 测试出现错误后,一般的分析步骤
看Monkey的日志 (注意第一个swith以及异常信息等)
  1. 程序无响应的问题: 在日志中搜索 “ANR”
  2. 崩溃问题:在日志中搜索 “Exception” (如果出现空指针 NullPointerException)肯定是有bug

Monkey 执行中断,在log最后也能看到当前执行次数



【Android测试第二节Monkey工具】本文出自 “半醒半醉半浮生” 博客,请务必保留此出处http://sweettesting.blog.51cto.com/12233355/1873367

    推荐阅读