android的app应用,monkey测试是怎么录制脚本进行性能测试的 求各位大神补充

2025-01-20 13:22:58
推荐回答(1个)
回答1:

Windows下(注:2—4步是为了查看我们可以测试哪些应用程序包,可省略):  1、通过eclipse启动一个Android的emulator  2、在命令行中输入:adbdevices查看设备连接情况  C:DocumentsandSettingsAdministrator>adbdevices  Listofdevicesattached  emulator-5554device  3、在有设备连接的前提下,在命令行中输入:adbshell进入shell界面  C:DocumentsandSettingsAdministrator>adbshell  4、查看data/data文件夹下的应用程序包。注:我们能测试的应用程序包都在这个目录下面  C:DocumentsandSettingsAdministrator>adbshell  如:  com.android.htmlviewer  com.android.settings  com.android.netspeed  com.android.providers.userdictionary  com.android.browser  com.android.contacts  com.android.alarmclock  等  5.在其中找到我们需要测试的包名com.marshalchen.MonkeyTest1  6、以com.marshalchen.MonkeyTest1作为对象进行MonkeyTest  monkey-pcom.marshalchen.MonkeyTest1-v500  其中-p表示对象包–v表示事件数量  运行过程中,Emulator中的应用程序在不断地切换画面。  按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。  如:SendingPointerACTION_DOWNx=35.0y=259.0  :SendingPointerACTION_UPx=195.0y=259.0  :SendingPointerACTION_DOWNx=295.0y=223.0  :Dropped:keys=0pointers=0trackballs=0flips=0  等等信息。  四、Monkey停止的条件  MonkeyTest执行过程中在下列三种情况下会自动停止:  1、如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。  2、如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。  3、如果应用程序产生了应用程序不响应(applicationnotresponding)的错误,Monkey将会停止并报错。  通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序。  MonkeyRunner使用  1  Monkey的使用简洁有效,但是总是给人感觉功能不够强大。所以,接下来向大家介绍非常给力的工具MonkeyRunner。  一、什么是MonkeyRunner  monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。  monkeyrunner工具与monkey工具并无关联。monkey工具直接运行在设备或模拟器的adbshell中,生成用户或系统的伪随机事件流。而monkeyrunner工具则是在工作站上通过API定义的特定命令和事件控制设备或模拟器。  monkeyrunner工具为Android测试提供了以下特性:  1.多设备控制:monkeyrunnerAPI可以跨多个设备或模拟器实施测试套件。您可以在同一时间接上所有的设备或一次启动全部模拟器(或统统一起),依据程序依次连接到每一个,然后运行一个或多个测试。您也可以用程序启动一个配置好的模拟器,运行一个或多个测试,然后关闭模拟器。  2.功能测试:monkeyrunner可以为一个应用自动贯彻一次功能测试。您提供按键或触摸事件的输入数值,然后观察输出结果的截屏。  3.回归测试:monkeyrunner可以运行某个应用,并将其结果截屏与既定已知正确的结果截屏相比较,以此测试应用的稳定性。  4.可扩展的自动化:由于monkeyrunner是一个API工具包,您可以基于Python模块和程序开发一整套系统,以此来控制Android设备。除了使用monkeyrunnerAPI之外,您还可以使用标准的Pythonos和subpress模块来调用如adb这样的Android工具。  您还可以向monkeyrunnerAPI中添加您自己的类。  monkeyrunner工具使用Jython(使用Java编程语言的一种Python实现)。Jython允许monkeyrunnerAPI与Android框架轻松的进行交互。使用Jython,您可以使用Python语法来获取API中的常量、类以及方法。