做测试的可以看下,自动化测试工具。做手工测试想转自动化测试的童鞋可以看看。monkey -p com. android. email -V 50Monkey -p com. android. email -v 50Monkey: seed=g count=50: AllowPac kage comandroid. email:Include Category: android.intent.category.LAUNCHERInc lude Category: android. intent. category. MONKEY图36指定包测试Set up emailYou can configure Emall for mostaccounts In Just a few steps.mall addressPasswordManual setupNextq t y iops d f g hikIzxcvb n ma英文7123@图37测试的截图注意:每个“-”只能指定一个包,若需指定对多个包进行测试,则要用多个“-p”参数进行指定。(2)指定测试的类若需对某个具体类进行测试,可以使用“-c”参数指定,若需指定多个类别,则要用多个c”参数选项分别指定,每个“c”只能指定一个类别。如图3.1所示,其使用的命令格式为Monkey -c android intent. category. LAUNCHER -V 50图38及图3.9分别为指定类测试命令输入及测试过程的截图monkey -c andro id intent.category. LAUNCHER-U 56onkey -c android. intent. category. LAUNGHER -U 50Monkey: seed=g count=56:Include Category: android.intent.category.LAUNCHEREvent percentages:8:15.1:1.E2:15.3:25.5:2.Ex7=1.: Switch: #Intent;action=android. intent. action. MAIN;category=android. intentry. LAUNGHER; launchFlags-Ox10000000;component=com. android. quicksearchbox/ S图38指定类测试6:18usdf ghiz x c bn英文2123已·去图39测试过程效果图313指定测试的事件类型和频率Mon keγ命令提供了众多选项用于指定事件的类型和发生频率,例如触摸事件、导航事件、轨迹事件(由一个或多个随机的移动组成,有时还伴随有点击)。有时为了测试某个具体应用,需要通过“事件”的反复发生来进行专项的功能测试,此时即可通过 monkey的“-pct”选项来进行指定具体事件及其发生的频率。命令使用格式如下示例:Monkey --pct-syskeys 90 200以上命令表示系统按键事件的发生率为90%,共测试200次,如图3.10及图3.11所示。注意:“pct”前面是英文输入状态下两杠“monkey --pct-syske ys 90 200onkey --pct-s ke ys 90 200/ activityResuming (com. android settings>图310指定系统按键事件测试Ringer volumea) WidgetsFolders图311测试过程效果图还可以分别指定两个事件的发生频率,命令使用方式如下所示Monkeypct-touch 50 -pct-trackball 40 200以上命令表示触摸事件和轨迹事件发生概率分别为50%和40‰,共测试200次,如图3.12和图3.13所小#t Network stats: elapsed time=42610ms(42610msmonkey --pct-touch 50 --pct-trackball 40 200monkey --pct-touch 50 --pct-trackball 40 200图3.12指定两事件进行测试.O.图3.13测试过程效果图通过“- throttle”指定事件间的间隔,可以延缓事件的发生,如下图3.14所小为指定导航事件发生概率为80%,每次事件相隔1秒中发生,共测试200次。测试的效果图如3.15所示。P* System appears to have crashed at eventH nonkey-pct-nav 80-throttle 1000 200honkey-pct-nav 80-throttle 1000 200图3.14指定事件间隔事件图315测试过程效果图314指定测试的调试选项Monkey命令提供了若干用于控制测试过程的调试选项。例如参数“- ignore-crashes”,将忽略应用程序崩溃或发生的仼何异常,继续向系统发送事件,直到计数完成。使用命令柊式如下:monkey -ignore-crashes -V5000图3.16及图3.17分别显示了指定调试选项的测试及其测试过程的效果图。:Sending Pointer ACTION_MOUE>=2.0CC: Users \sunnyhey>adb shellHt mon ke yignore-cras hes -V 5000图3.16指定调试选项的测试GalleryroCamera picturesCamera videosCamera media图3.17测试过程效果图32在开发板上运用 Monkey进行自动化测试上一节中上要介绍了用 monkey命令工具在模拟器上进行测试,列举了若干基本的命令使用示例。在实际的设备中,也可以方便的运用 monkey工具进行应用程序的测试。要在实际设备上进行 monkey测试,首先需要启动 Android系统,然后计没备通过串口与pc相连,仁pc上通过 Securecrt登录到 Android系统的根目录下。此时,即可运用上一节介绍的各种命令对设备进行自动化测试。注意,登录到 Android系统的根目录后,若找不到 monkey命令,应先运行 system/bin/sh,切换bash环境。4附录41 monkey工具的命令选项usage: monkey [-p ALLOWED PACKAGE [-p ALLOWED PACKAGE].I-C MAIN CATEGORY I-C MAIN CATEGORYignore-crashes[--ignore-timeouts[--ignore-security-exceptions][--monitor-native-crashes][--ignore-native-crashes]kill-process-after-error][-hprof[--pct-touch PERCENT][--pct-motion PERCENT]L--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 FILEwait-dbg][--dbg-no-events][--setup scriptfilel[f scriptfile [ f scriptfilel[--port port][- S SEED]v[-]∴[--throttle MIllisec][--randomize-throttlel[-profile-wait MILLISEC[-device-sleep-time mILlISeC][-randomize-script]-script-log][-bugreportCOUNT42 monkey命令选项介绍类别选项说明help列出简单的用法命令行的每一个“v”将增加反馈信息的级别。常规选项evel0(缺省值:除启动提示、测试完成和最终结果之外,提供较少信息。Leve1:提供较为详细的测试信息,如逐个发送到 ActiviTy的事件。Leve|2:提供史加详细的设置信息,如测试中被选中的或未被选中的 Activity如果用此参数指定了一个或几个包, Monkey将ca| ed-package-name>只允许系统启动这些包里的 Activity,如果你的应用程序还需要访问其它包里的 Activity(如选择取一个联系人),那些包也需要在此同时指定。如果不指定任何包, Monkey将允许系统启动全部包里的 Activity。要指定多个包,需要使用多个-p选项,每个p选项只能用于一个包约束选项如果用此参数指定∫一个或几个类别, Monkey将只允许系统启动被这些类别中的某个类别列出的 Activity。如果不指定任何类别, Monkey将选择下列类别中列出的 Activity:Intent. CATEGORY LAUNCHER EXntent cATEGORY MONKEY。要指定多个类别,需要使用多个-c选项,每个c选项只能用于个类别。伪随机数生成器的seed值。如果用相同的seed值再次运行 Monkey,它将生成相同的事件序列throttle在事件之间插入固定延迟。通过这个选项可以事件选项减缓 Monkey的执行速度。如果不指定该选项, Monkey将不会被延迟。pct-motion 调整动作事件的百分比(动作事件山屏幕上某处的个doWn事件、一系列的伪随机事件和个up事件组成)tckb| 调整“基本导航事件的百分比(导航事件由来自方向输入设备的up/down/ eft/right组成)pct-majornav |调整“主要"导航事件的百分比(这些导航事件通事件选项常引发图形界面中的动作,如:5-way键盘的中间按键、冋退按键、菜单按键pct-syskeys 调整″系统〃按键事件的百分比(这些按键通常被保留,山系统使用,如Home、Back、 Start callEnd cal及音量控制键)。pct= appswitch 调整启动 Activity的百分比。在随机间隔里,Monkey将执行一个 startActivity调用,作为最大程度覆盖包中全部 Activity的一种方法。percent-anyevent调整共它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等。dgb-no-events改置此选项, Monkey将执行初始启动,进入到个测试 Activity,然后不会再进一步生成事件。为了得到最佳结果,把它与V、一个或几个包约東、以及一个保持 Monkey运行30秒或更长时间的非零值联合起来,从而提供一个环境可以监视应用程序所调用的包之间的转换。设置此选项,将在 Monkey事件序列之前和之后立即生成 profiling报告。这将会在data/mic中生成大文件(5Mb),所以要小心使用它ignore-crashes通常,当应用程序崩溃或发生任何失控异常时Monkey将停止运行。如果设置此选项, Monkey将继续向系统发送事件,直到计数完成--ignore-timeouts通常,当应用程序发生任何超时错误(如调试选项Application Not responding"对话框)时, Monkey将停止运行。如果设置此选项, Monkey将继续向系统发送事件,直到计数完成。- -Ignore- security-exceptions|通常,当应用稈序发牛许可错误(如启动一个需要某些许可的 Activity)时, Monkey将停止运行。如果设置∫此选项, Monkey将继续向系统发送事件,直到计数完成kill- process-after-error通常,当 Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。当设置了此选项时,将会通知系统停止发生错误的进程注意,正常的(成功的)结束,并没有停止启动的进程,设备只是在结束事件之后,简单地保持在最后的状态。monitor -native-crashes|监视并报告Anid系统中本地代码的崩溃事件。如果设置了-ki}- process- after-eror,系统将停止运行。wait-dbg停止执行中的 Monkey,直到有调试器和它相连作者:MID组何公时间:2011年4月19日