最近在Android程序测验进程中触摸到了主动化测验办法,对其间的一些东西、办法和结构做了一些简略的收拾,其间包含android测验结构、CTS、Monkey、Monkeyrunner其它test tool等等。因触摸时刻很短,许多当地有不足之处,希望能和咱们多多沟通和点拨在这里简略对monkey做简略的介绍吧。
一、 什么是Monkey
Monkey是Android中的一个命令行东西,能够运转在模拟器里或实践设备中。它向体系发送伪随机的用户事情流(如按键输入、触摸屏输入、手势输入等),完成对正在开发的运用程序进行压力测验。Monkey测验是一种为了测验软件的稳定性、健壮性的快速有用的办法。
二、 Monkey的特征
1、测验的方针仅为运用程序包,有必定的局限性。
2、 Monky测验运用的事情流数据流是随机的,不能进行自定义。
3、可对MonkeyTest的方针,事情数量,类型,频率等进行设置。
三、Monkey的根本用法
根本语法如下:
$ adb shell monkey [options]
假如不指定options,Monkey将以无反应形式发动,并把事情恣意发送到安装在方针环境中的悉数包。下面是一个更为典型的命令行示例,它发动指定的运用程序,并向其发送1500个伪随机事情:
$ adb shell monkey -p your.package.name -v 1500
$ monkey -p(package的意思) 指定文件名 -v(测验的次数和频率) number(次数)
四、Monkey测验的一个实例
经过这个实例,咱们能了解Monkey测验的进程以及怎么知道哪些运用程序能够用Monkey进行测验。
Windows下(注:2—4步是为了检查咱们能够测验哪些运用程序包,可省掉):
1、 经过eclipse发动一个Android的emulator
2、 在命令行中输入:adb devices检查设备衔接状况
C:\Documents and Settings\Administrator>adb devices
List of devices attached
emulator-5554 device
3、 在有设备衔接的前提下,在命令行中输入:adb shell 进入shell界面
C:\Documents and Settings\Administrator>adb shell
#
4、 检查data/data文件夹下的运用程序包。注:咱们能测验的运用程序包都在这个目录下面
C:\Documents and Settings\Administrator>adb shell
# ls data/data
ls data/data
com.google.android.btrouter
com.android.providers.telephony
com.android.mms
com.android.providers.downloads
com.android.deskclock
com.android.email
com.android.providers.media
com.android.settings
jp.co.omronsoft.openwnn
com.android.providers.userdictionary
com.android.quicksearchbox
com.android.protips
com.android.browser
com.android.launcher
com.android.term
com.android.speechrecorder
com.android.server.vpn
com.android.defcontainer
com.svox.pico
com.android.customlocale
com.android.development
com.android.soundrecorder
com.android.providers.drm
com.android.spare_parts
com.android.providers.downloads.ui
com.android.fallback
com.android.providers.applications
com.android.netspeed
com.android.wallpaper.livepicker
android.tts
com.android.htmlviewer
com.android.music
com.android.certinstaller
com.android.inputmethod.pinyin
com.android.providers.subscribedfeeds
com.android.inputmethod.latin
com.android.gallery
com.android.systemui
com.android.contacts
com.android.phone
com.android.sdksetup
com.android.calculator2
com.android.packageinstaller
com.android.camera
com.android.providers.settings
com.thestore.main
com.android.providers.contacts
5、 以com.android.camera作为方针进行MonkeyTest
#monkey -p com.android.camera -v 500
其间-p表明方针包 –v 表明事情数量
运转进程中,Emulator中的运用程序在不断地切换画面。
依照选定的不同等级的反应信息,在Monkey中还能够看到其履行进程陈述和生成的事情。
注:详细参数的设定可参阅:
http://developer.android.com/guide/developing/tools/monkey.html
五、关于Monkey测验的中止条件
Monkey Test履行进程中在下列三种状况下会主动中止:
1、假如限制了Monkey运转在一个或几个特定的包上,那么它会监测验图转到其它包的操作,并对其进行阻挠。
2、假如运用程序溃散或接纳到任何失控反常,Monkey将中止并报错。
3、假如运用程序产生了运用程序不响应(application not responding)的过错,Monkey将会中止并报错。
经过屡次而且不同设定下的Monkey测验才算它是一个稳定性满足的程序。