• 第一步:搭建环境:主要是安装和搭建java和sdk环境,说白了,对我们安卓开发来说,只要搭建好了Android开发环境,Monkey测试环境基本就是OK的了。可以参考:http://www.cnblogs.com/sylovezp/p/3623588.html
  • 第二步:准备好要测试的项目,比如可以是一个.apk安装包,也可以是已经安装到手机上的软件 。
  • 第三步:连接上Android测试设备,可以是模拟器,当然也可以是手机,通过adb 命令对测试项目进行Monkey测试。

–adb monkey测试相关命令介绍:——–

  • 1,adb install xx.apk:把指定的安装包apk文件安装到测试设备中
  • 2,adb shell monkey :给指定的设备发送压力测试,number是要测试的次数。执行这个命令的效果就相当于有个手指在你的手机上乱点。我尝试了10000次,结果费了好一会儿功夫才把手机恢复到我想到的效果。
  • 3,adb shell monkey -p pkgname :同上面效果一样,只是对指定包名(pkgname)apk进行测试。
  • 4,Monkey高级参数的应用 
    4.1.throttle参数:指定事件之间的间隔时间 
    adb shell monkey -throttle :milliseconds是时间值 ,单位毫秒 
    4.2.seed参数:伪随机数生成器的seed 值。 
    adb shell monkey -s :如果用相同的 seed 值再次运行 Monkey ,它将生成相同的事件序列。 
    4.3.touch:设置触摸事件 
    adb shell monkey -pct-touch :指定touch事件的百分比percent 
    4.4.motion:设置动作事件 
    adb shell monkey -pct-motion :指定motion事件的百分比percent 
    4.5.trackball:设置轨迹球事件 
    adb shell monkey -pct-trackball :指定轨迹球事件百分比percent 
    4.6.nav:导航事件设置 
    adb shell monkey -pct-nav :指定基本导航事件百分比percent 
    4.7.majornav:设置主要导航事件 
    adb shell monkey -pct-majornav :设定主要导航事件百分比percent,兼容中间键,返回键,菜单按键 
    4.8.syskeys:设置事件 
    adb shell monkey -pct-syskeys :设定系统事件百分比percent,比如HOME,BACK,拨号及音量调节等事件。 
    4.9.appswitch:启动Activity事件 
    adb shell monkey -pct-appswitch :设定启动activity的事件百分比percent 
    4.10.anyevent:不常用事件设置 
    adb shell monkey -pct-anyevent :设定不常用事件地百分比 
    4.11.crashes :程序崩溃事件设置 
    adb shell monkey -ignore-crashes :忽略崩溃和异常事件 
    4.12.timeouts:超时事件设置 
    adb shell monkey -ignore-timeouts :忽略超时事件 
    介绍了一些常用设置后,开始基本地Monkey之旅: 
    第一步:准备测试apk,如下图是我要进行测试的APK,放置在我的电脑D盘: 

第二步:把测试设备(手机)与电脑保持连接,这个就不截图啦。 
第三步:使用adb install 命令把要测试的apk安装到手机,当然你可以直接测试已经安装在手机上的apk。 
 
第四步:使用上面的基本测试命令对安装好的monkey_test.apk进行Monkey测试。 
adb shell monkey -p com.xx.xx 10 指测试10次,截图如下,运行期间你可以看到手机上apk被操作。 
 
第五步,根据自己的需要,使用其它命令对apk进行测试: 
比如通过adb shell monkey -v -p com.xx.xx 100来简单输出测试信息,如图 
 
上面的百分比就是相应事件所占的比,还有其它诸如TOUCH事件等相关信息。 
其它的测试命令就不贴了,工作中自己想怎么测试就使用相关的命令就可以。 
网上有N多详细的参考资料,比如http://blog.csdn.net/zm2714/article/details/7977930 等。

最新文章

  1. *HDU 1054 二分图
  2. iOS 按钮小知识点总结
  3. 多线程下载的原理&断点下载的原理
  4. GEOS库 介绍 (转)
  5. Ⅹ.spring的点点滴滴--IObjectPostProcessor(对象后处理器)
  6. PNG文件格式具体解释
  7. VS2012 编写C++程序的时候DOS窗口一闪而过解决办法。
  8. RCTF Welpwn
  9. 如何在Objective-C中实现链式语法?
  10. UVA 12103 - Leonardo's Notebook(数论置换群)
  11. zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群
  12. Head First设计模式之责任链模式
  13. java 8 Lambda表达式(翻译自Stackoverflow)
  14. Python之旅.第四章.模块与包.总结(未完待遇)
  15. kv.go
  16. 有价值的IPFS博客
  17. eclipse 项目中嵌入jetty
  18. xshell操作
  19. C++ vector 容器浅析
  20. 每周一个linux命令之---uptime详解

热门文章

  1. Getting started with 3G | ip.access nano3G+OpenBSC+Osmocom-bb Part 1
  2. 识别图片验证码的三种方式(scrapy模拟登陆豆瓣网)
  3. freeswitch编译mod_av模块
  4. 大直播时代,P2P才是降低成本的必杀技
  5. maven install中依赖关系打包failed
  6. ubuntu apt-get failed
  7. 深度学习环境配置Ubuntu16.04+CUDA8.0+CUDNN5
  8. Unity游戏开发常用的一些函数用法
  9. CF449 (Div. 1简单题解)
  10. c++——数据结构