Monkey测试简介

在android手机上作自动化测试,monkey比cts,Android UnitTest 好用多了,他实际上是继承与adb shell中的一段的shell指令。android

一monkey测试的相关的原理shell

monkey测试的原理就是利用socket通信的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。当Monkey程序在模拟器或设备运行的时候,若是用户出发了好比点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,因此能够用Monkey用随机重复的方法去负荷测试你开发的软件。
并发

2、Monkey程序介绍app

1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/sdk/sdk/tools/lib/monkey.jar;相应的途径如图所示:socket

 

注意了个人sdk在f盘学习

2) Monkey.jar程序是由一个名为“monkey”的Shell脚原本启动执行,shell脚本在Android文件系统中的存放路径是:/sdk/sdk/tools/bin/monkey;测试

这样就能够经过在CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了。 spa

若是我不会用monkey怎么办了???调试

3、Monkey命令的简单帮助日志

要获取Monkey命令自带的简单帮助,在CMD中执行命令:

adb shell monkey –help

这样子,就有他的各类各样的提示命令的参数。

我这里对其各类参数进行了简介了。

1) 参数:  -p

参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定

包以后,Monkey将只容许系统启动指定的APP。若是不指定包,Monkey将容许系统启动设备中的全部APP。

* 指定一个包: adb shell monkey -p com.example.sellclientapp  100

说明:com.example.sellClientAPP 为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。

* 指定多个包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader  -p com.htc.photo.widgets 100  如图所示:

* 不指定包:adb shell monkey 100

 说明:Monkey随机启动APP并发送100个随机事件。

* 要查看设备中全部的包,在CMD窗口中执行如下命令:

  >adb shell

  #cd data/data

  #ls

个人手机没有root因此不能用这个属性了。

2) 参数:  -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

说明  提供较为详细的日志,包括每一个发送到Activity的事件信息

 

日志级别 Level 2

示例 adb shell monkey -p com.htc.Weather –v -v –v 100

说明  最详细的日志,包括了测试中选中/未选中的Activity信息

-s

用于指定伪随机数生成器的seed值,若是seed相同,则两次Monkey测试所产生的事件序列也相同的。

* 示例:

 Monkey测试1:adb shell monkey -p com.htc.Weather –s 10 100

   Monkey 测试2:adb shell monkey -p com.htc.Weather –s 10 100

   两次测试的效果是相同的,由于模拟的用户操做序列(每次操做按照必定的前后顺序所组成的一系列操做,即一个序列)是同样的。操做序

 

列虽   然是随机生成的,可是只要咱们指定了相同的Seed值,就能够保证两次测试产生的随机操做序列是彻底相同的,因此这个操做序列伪随

 

机的;

 

monkey很好,很强大,我这些实验都是他的皮毛,也但愿获得牛人们指证。

好好学习每天向上。

相关文章
相关标签/搜索