前语:
最近开端研讨Android主动化测验办法,整理了一些东西、办法和结构,其间包含android测验结构,CTS、Monkey、Monkeyrunner、benchmark,以及其它test tool等等。
一、 什么是Monkey
Monkey是Android中的一个命令行东西,能够运转在模拟器里或实践设备中。它向体系发送伪随机的用户事情流(如按键输入、触摸屏输入、手势输入等),完成对正在开发的运用程序进行压力测验。
Monkey测验是一种为了测验软件的稳定性、健壮性的快速有用的办法。
二、 Monkey的特征
1、 测验的方针仅为运用程序包,有必定的局限性。
2、 Monky测验运用的事情流数据流是随机的,不能进行自定义。
3、 可对MonkeyTest的方针,事情数量,类型,频率等进行设置。
三、Monkey的根本用法
根本语法如下:
$ adb shell monkey [options]
options选项(adb -d shell monkey):
源码打印?
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] …]
[-c MAIN_CATEGORY [-c MAIN_CATEGORY] …]
[–ignore-crashes] [–ignore-timeouts]
[–ignore-security-exceptions]
[–monitor-native-crashes] [–ignore-native-crashes]
[–kill-process-after-error] [–hprof]
[–pct-touch PERCENT] [–pct-motion PERCENT]
[–pct-trackball PERCENT] [–pct-syskeys PERCENT]
[–pct-nav PERCENT] [–pct-majornav PERCENT]
[–pct-appswitch PERCENT] [–pct-flip PERCENT]
[–pct-anyevent PERCENT]
[–pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
[–pkg-whitelist-file PACKAGE_WHITELIST_FILE]
[–wait-dbg] [–dbg-no-events]
[–setup scriptfile] [-f scriptfile [-f scriptfile] …]
[–port port]
[-s SEED] [-v [-v] …]
[–throttle MILLISEC] [–randomize-throttle]
COUNT
假如不指定options,Monkey将以无反应形式发动,并把事情恣意发送到安装在方针环境中的悉数包。下面是一个更为典型的命令行示例,它发动指定的运用程序,并向其发送9999个伪随机事情:
$ adb shell monkey -p your.package.name -v 9999
四、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
emulator-5556 device
015ED9A50C00A01A 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.browser
com.android.calculator2
….
5、 以com.android.calculator2作为方针进行MonkeyTest
#monkey -p com.android.calculator2 -v 9999
其间:
-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测验才算它是一个稳定性满足的程序。