版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、探秘QTP9.5新特性 过程指南(Process Guidance)什么是过程指南?安装好QTP9.5,打开QTP后发现其中的开始界面(Start Page)与QTP9.2版本的界面有很大的不一样,多了一个“Process Guidance List”,在这个列表中列出了几个过程指南,如图1所示。图1 QTP开始界面的“Process Guidance List”过程指南其实是一种向导,这个在LoadRunner9.0时就出现了,现在QTP9.5也把这种思想加入。默认安装会包括以下几个过程指南:(1)Keyword-Driven Testing:介绍和指引QTP用户熟悉关键字驱动(Keywor
2、d-Driven)的测试方法和测试过程。(2)Application Areas:介绍和指引QTP用户熟悉应用程序区域(Application Areas)的概念和使用方法。(3)Business Components:介绍和指引QTP用户熟悉业务组件(Business Components)的概念和使用方法。打开“Keyword-Driven Testing”这个过程指南,如图2所示,可以看到左边是所谓的“活动”(Activities),分组列出了关键字驱动测试相关的内容,当然是按一定的顺序列出了,如首先是介绍、解释什么是关键字驱动,然后是定义测试需求、准备测试对象库、创建测试步骤等。而靠主
3、界面的右边则展示每一个选定的“活动”相关的详细内容描述。图2 “Keyword-Driven Testing”过程指南这种类似向导(Wizard)的过程指南与LoadRunner9.0中的Tasks界面是何其的相似,如图3所示。图3 LoadRunner9.0中的Tasks界面过程指南的作用过程指南对于新手会比较有用,可以指导他们一步步建立自动化测试脚本。从一个什么都不会的新手的角度来看,有这样一个过程指南就相当于旁边坐着一位老师或者技术顾问,随时可以询问、接受指导、甚至手把手教你如何调出某个设置界面,从“Keyword Driven Testing”的过程指南的第一个“Activity”可以
4、看到,对于一个新手而言,它首先简明扼要地告诉你什么是“关键字驱动测试”,并且告诉你入门的途径,从什么地方获取帮助,例如在“Help on this Topic”中列出了可以让你了解关键字驱动测试方法的3个地方,如图4所示。图4 “Keyword Driven Testing”的过程指南的第一个“Activity”点击第一项“Creating Tests Using the Keyword-Driven Methodology”,可以马上凋出CHM格式的帮助手册,并定位到相关的主题。而点击“Process Guidance Movie”和“QuickTest Panes for Test Man
5、agement Movie”则分别凋出介绍过程指南和QTP测试管理界面的视频,让新用户了解和熟悉QTP的这两个新特性。另外,过程指南还起到“手把手”指导的作用,例如在“Define Your Testing Environment”这个“活动”中(图5),不仅简要地解释了插件管理、录制和运行设置,而且可以通过点击“About QuickTest Professional”以及“Record and Run Settings”的链接来打开相应的QTP设置界面,让我们可以马上直接修改和操作这些QTP中的设置界面。图5 “Define Your Testing Environment”活动的HTML
6、页面由此看来过程指南对于新手了解QTP的新特性、按照某些过程方法来建立自己的测试脚本带来了不少的便利,让“边学习、边工作”成为现实。另外,我觉得这个新特性对于自动化测试团队统一规范、统一测试脚本的编写思想也是有好处的,因为QTP的过程指南机制是设计成允许用户自己定义过程指南的,例如,我们完全可以仿照“Keyword Driven Testing”的过程指南创建一个数据驱动测试方法(Data-Driven Testing)的过程指南。自定义过程指南QTP9.5可以允许用户定义自己个性化的过程指南文件,方法如下:(1)编写Configuration.xml文件,例如,下面是一个简单的Configu
7、ration.xml文件: 其中几个主要的Tag的定义如下:Process Name:过程指南的名称。ID:过程指南的唯一标识(用于区分同名的过程指南)。DocType:过程指南适用的文档类型,可包括“test”、“AA”、“BC”、“SBC”4种。Addin:过程指南适用的插件。SortLevel:过程指南在过程指南管理列表中出现的顺序号。Group:过程指南中的“活动”所在的组。Activity:过程指南中的“活动”。在定义过程指南时注意不要包含中文,否则不能加载成功。会提示如图6所示的错误。图6 提示字符无效的错误(2)对于“Group”中定义的所有“Activity”,在文件夹中建立相
8、应的HTML文件,如图7所示。图7 建立相应的HTML文件(3)安装自定义的过程指南。可以有两种方法安装个性化的过程指南。一种是把包含Configuration.xml文件和各个HTML文件的文件夹打包成.zip文件,在Process Guidance Management中导入,如图8所示:图8 导入过程指南压缩文件另外一种方法是直接在注册表中设置,找到如下注册项:HKEY_CURRENT_USERSoftwareMercury InteractiveQuickTest ProfessionalMicTestProcessGuidanceConfFiles然后添加一个自定义的过程指南的注册项
9、(REG_SZ类型的),如图9所示。图9 添加自定义的过程指南的注册项编辑注册项,输入“Configuration.xml”文件所在的路径,例如:D:QNAP自动化测试项目MyTestProcessGuidanceMyProcessConfiguration.xml(4)重新启动QTP后,就可以在Process Guidance Lists中看到新加载的自定义的过程指南了,如图10所示。图10 重启QTP,加载新添加的过程指南过程指南深入探秘要想把过程指南的作用发挥到极致,仅仅是把一些包含帮助信息的静态HTML页面作为过程指南是不够的,我们希望能像QTP自带的那几个过程指南一样,可以直接调出Q
10、TP的设置界面,关于这部分,QTP的帮助文档好像没有详细地说明应该如何做。但是不要紧,我们可以仿照QTP默认自带的过程指南文件,探索一下里面的奥秘,然后自己来做。(1)从表面分析QTP自带的过程指南。首先,我们打开一个包含了可调出QTP设置界面的“活动”,例如“Define Your Testing Environment”,如图11所示。图11 “Define Your Testing Environment”活动的HTML页面在其中的“About QuickTest Professional”的链接上单击右键,可看到QTP的状态栏中(如图12所示)闪现这样一段文字:Javascript:w
11、indow.external.ui.ShowUIElement(AboutDialog);图12 在状态栏出现的文字由此,我们可以猜测QTP在执行这个链接的单击动作时,会运行一段JavaScript脚本,调出名为“AboutDialog”的外部窗口,而这个外部窗口实际上就是QTP的“About QucikTest Professional 9.5”对话框,如图13所示。图13 QTP的“About QucikTest Professional 9.5”对话框(2)从QTP自带的过程指南文件所在的目录进行分析。为了进一步探索其中的机制,我们打开QTP9.5安装目录查找“Process Guida
12、nce”,可找到如图14所示的几个文件:图14 打开QTP9.5安装目录查找“Process Guidance”其中ProcessGuidance.dll应该是QTP中用于处理过程指南文件的核心代码的DLL,我们可以在VS.NET 2005中查看ProcessGuidance.dll的类,如图15所示。图15 在VS.NET 2005中查看ProcessGuidance.dll的类从对象浏览器可以看到ProcessGuidance.dll中包含了处理过程指南文件的类、属性和方法,例如dtsData.ProcessesRow中就包含了与过程指南XML文件的几个关键的TAG:ID、Name、Sor
13、tLevel等。而ProcessGuidance.exe是过程指南的视频文件,介绍如何使用过程指南,如图16所示。图16 ProcessGuidance.exe是过程指南的视频文件(3)从配置文件进行分析。目录中还有一个ProcessGuidance文件夹,进入该文件夹(“datProcessGuidance”),可以看到很多HTML文件,当然也包括配置文件“Configuration.xml”。打开Configuration.xml文件,可看到其中定义了QTP的关键字过程指南中的“Define Your Testing Environment”这个活动对应的HTML文件是“KWV_Intro
14、_AUT.html”:(4)分析过程指南的HTML文件的源代码。在目录中找到HTML文件“KWV_Intro_AUT.html”,用IE浏览器打开如图17所示。图17 在浏览器中打开HTML文件“KWV_Intro_AUT.html”直接单击HTML文件中的“About QuickTest Professional”链接,不能调出QTP的“About”窗口。由此可知该HTML所包含的链接需要在QTP的运行环境下才能打开。打开HTML的源文件可看到这样一段: Tip: You can check which add-ins are currently loaded in the About Qu
15、ickTest Professional dialog box. 这正是“About QuickTest Professional”链接所对应的代码。如果把这段代码拷贝到前面自己定义的过程指南的HTML文件中,重启QTP,发现也能成功调出QTP的“About”窗口,如图18所示。图18 拷贝到自定义过程指南的HTML文件中,调出QTP的“About”窗口因此,按照这种HTML的代码编写方法,我们可以像QTP默认自带的过程指南那样,调出QTP的各个设置窗口。小结本文介绍了QTP最新版本9.5中的新特性“过程指南”(Process Guidance),讲述了如何通过使用过程指南来学习和熟悉QTP的
16、各项功能、测试方法和具体操作方法。过程指南确实能有效地帮助初学者“边学边做”。另外,通过自定义过程指南,自动化测试团队可以把一些规范性的东西、类似工作流、工作指引的东西放到自定义的过程指南文件中,设置把测试脚本的编码规范、常用测试脚本、函数放到过程指南的合适位置,让自动化测试工程师可以随时访问和获取。通过本文对过程指南机制和自定义过程指南的方法的探索结果,我们完全可以实现这一目标。QTP 10 - 自动化测试脚本开发利器系统需求和环境支持在系统需求方面,QTP 10所要求的硬件环境并没有太大的改变,最低512M的内存,PIII以上CPU即可,但是如果使用“Save movie to resul
17、ts”功能的话,则推荐使用1G内存以上,因为该功能会在运行过程中录制界面视频,将占用比较多的内存资源。新版本的QTP添加了对Windows Server 2008操作系统的支持。浏览器方面,则添加了对Firefox 3.0.x和IE8.0 beta 2的支持。另外,对Delphi、Java、.NET的支持都有不同程度的增强。增强的QC整合能力对于升级安装,只能从QTP9.5升级到QTP10,9.5之前的版本需要先卸载再安装。安装过程与QTP9.5类似,在此就不再赘述了。安装完毕后,可以从“Help-Product Feature Movies”菜单中选取视频,观看对QTP10的新特性的演示。其
18、中一项介绍的就是QTP10与QC10的整合。在QTP10中,提出了一个新概念“QuickTest assets”:QuickTest assets include tests, components, application areas, and the resources associated with them, such as shared object repositories, function libraries, recovery scenarios, and external data tables.QTP通过与QC整合,把测试脚本所涉及的方方面面的资源统一作为“QuickTe
19、st assets”管理起来。在QC10中引入了一个新的模块“Test Resources”。在之前的版本,QTP的测试脚本和相关资源文件都是作为附件存储在QC中,而QC10中的“Test Resources”这个模块就可用于独立管理QTP的各项资源以及它们之间的依赖关系。版本控制和基线需要注意的是,基线(Baselines)功能只有在QC10的Enterprise和Premier版本中才有,在Starter版本中不支持。在旧版本的QTP和QC中,只支持有限的版本控制功能,并且需要安装版本控制的插件,通过第三方的版本控制工具来执行版本控制功能。而现在,版本控制功能被完全整合到QC中。当QTP通
20、过版本控制连接到QC项目中时,你可以把QTP中的任何“QuickTest asset”签入到版本控制数据库中,相反也可以签出项目中的任何“QuickTest asset”。类似于版本控制工具中提供的版本比较工具,新版本的整合环境中提供了“Asset Comparison Tool”,用于比较不同版本的QTP测试脚本、各项“QuickTest Asset”之间的差异。可移植性QTP的测试和相关资源文件通常会被存储在服务器或QC上,然而,很多时候,我们需要在离线的情况下打开和运行QTP测试脚本,或者出差时把相关测试脚本打包拷走。现在,新版本的QTP允许你通过“File-Save Test with
21、 Resources”的方式创建一个独立的测试脚本和相关资源的完整拷贝。这种方式保存的测试脚本会把测试脚本相关的资源文件、调用的action都一并保存到本地磁盘。本地系统监视器在QTP10中引入了一个显著的新功能“Local System Monitoring”。可以从菜单“File-Settings-Local System Monitor”访问该功能“Local System Monitoring”功能让你可以在测试运行的过程中,监视你的应用程序所使用的本地机器的资源。你可以通过监视各项系统计数器来观察和了解你的应用程序在单用户运行的情况下的资源使用情况。而且可以定义计数器的上限,如果计数
22、器的采样值超过了指定的上限,则测试结果会置为“Fail”。动态调用Action在以前版本,如果你插入一个外部的Action,那么那个Action就成为测试的一部分,每次打开这个测试都会加载那些Action。而在新版本的QTP中,提供了“LoadAndRunAction”语句,可用于在测试脚本运行时加载Action。这有什么好处呢?举个例子,如果你使用了很多条件语句来调用外部的Action,而你又不想在每次打开测试时都加载那些Action进来,因为并不是每次运行都需要这些Action,那么这个时候“LoadAndRunAction”就很适用了。通过“LoadAndRunAction” 调用的Ac
23、tion只有在测试运行时才被加载和执行,例如下面的例子在Test1中加载Action1并执行一次迭代:CustomerType = DataTable.Value(Customer_Type,dtGlobalSheet) NumOfOrder = DataTable.Value(Number_of_items,dtGlobalSheet) While NumOfOrder 0 NumOfOrder = NumOfOrder - 1 If CustomerType = Gold or CustomerType = Silver or CustomerType = Bronze Then Load
24、AndRunAction c:QTPTestOrderActions, CustomerType&Order Else Error value WrongDataValue CustomerType End If Wend 下面的例子同样是动态加载Action1并执行一次迭代,不同的是通过环境变量来存储Action1的路径:CustomerType = DataTable.Value(Customer_Type,dtGlobalSheet) NumOfOrder = DataTable.Value(Number_of_items,dtGlobalSheet) TestPath=c:QTPTes
25、t While NumOfOrder 0 NumOfOrder = NumOfOrder - 1 If CustomerType = Gold Then LoadAndRunAction Environment(default_path)&OrderActions, GoldOrder,oneiteration, NumOfOrder Elseif CustomerType = Silver Then LoadAndRunAction TestPath&OrderActions, SilverOrder, oneiteration, NumOfOrder Elseif CustomerType
26、 = Normal Then LoadAndRunAction TestPath&OrderActions, NormalOrder, oneiteration, NumOfOrder Else Error value Msgbox WrongDataValue CustomerType End If Wend 新的Reporter功能同样有助于我们更灵活地编写测试脚本的是Reporter对象的ReportEvent功能,新的ReportEvent语法定义如下:Reporter.ReportEvent EventStatus, ReportStepName, Details , ImageFi
27、lePath很明显,添加了在测试报告中插入图像的功能。例如下面的代码使用ReportEvent来让测试报告包含运行过程中捕获的图片:Browser(Browser).Page(WebPage).Image(MyLogo).CaptureBitmap(MyLogo.bmp) Reporter.ReportEvent micDone, Display Logo, This is my logo, MyLogo.bmp 而在之前的版本,要实现类似的功能,则需要自己动手编写函数,例如:Function CaptureBitmapAndSaveToLog( w_Snder, micStatus, tit
28、leMessage ) Dim dateTimeNow, fileNameStr, detailsStr 用时间作为截图的文件名 dateTimeNow = DotNetFactory.CreateInstance( System.DateTime ).Now.ToString( ddMMyyHHmmss ) fileNameStr = Reporter.ReportPath & & dateTimeNow & .png 调用CaptureBitmap方法进行截图 If w_Snder.Exist Then w_Snder.CaptureBitmap fileNameStr, True Els
29、e Desktop.CaptureBitmap fileNameStr, True End If 插入到HTML代码中detailsStr = & 通过Reporter展现在测试报告中Reporter.ReportEvent micStatus, titleMessage, detailsStrEnd Function Register for WEBRegisterUserFunc Browser,CaptureBitmapAndSaveToLog,CaptureBitmapAndSaveToLogRegisterUserFunc Page, CaptureBitmapAndSaveToLo
30、g, CaptureBitmapAndSaveToLogRegisterUserFunc Frame, CaptureBitmapAndSaveToLog, CaptureBitmapAndSaveToLogRegisterUserFunc Dialog, CaptureBitmapAndSaveToLog, CaptureBitmapAndSaveToLog Register for Standard WindowRegisterUserFunc Window,CaptureBitmapAndSaveToLog,CaptureBitmapAndSaveToLog Register for .
31、NET RegisterUserFunc SwfWindow, CaptureBitmapAndSaveToLog, CaptureBitmapAndSaveToLog除了新的ReportEvent,QTP在测试报告方面还有不少的增强,例如“Jump to Step”功能可以让我们通过选择测试结果中的节点,右键单击“Jump to step in QucikTest”来跳转到相关的测试步骤,这对于调试测试脚本和查找定位错误非常有帮助。在新版本的QTP中,除了HTML格式外,还可以把测试结果导出到Word和PDF。自定义位图检查点的比较算法在QTP10中,你还可以自己开发和定义位图检查点的比较算
32、法。例如,你可以定义一个自己的位图比较器,允许位图检查点在图像偏移了一定量的情况下,仍然认为是相同的,从而让检查点通过。QTP10在安装目录的datBitmapCPCustomization下附带了一个C+和一个VB写的自定义位图比较器的例子。IDE在IDE方面也有一些细节上的改进,比较显著的是增加了“ToDo”功能。“To Do”面板让你可以创建和管理自定义的一些任务。例如,你可以在移交脚本编写任务给其他人时,使用“Tasks”页中的文字来提供一些指引和提示,告诉他还有哪些脚本尚未完善,有时候这个功能对于自己而言也是有用的,因为有时候需要提醒自己去完善或修改某段脚本。在“Comments”页
33、中,可以查看所有“TODO”注释,选中其中某项“TODO”,可以直接跳转到所在的脚本行。小结自动化测试脚本的开发与应用程序的开发其实相差不大,一个专业的自动化测试工具应该包含大部分应用程序开发工具的特性,包括代码版本控制、优秀的代码编辑器、调试器等。 从初步的试用结果来看,QTP10在与QC的整合极大地加强了版本控制能力(这在大型自动化测试脚本的开发项目中是必不可少的),在IDE的细节上的增强体现了QTP在朝着自动化测试脚本专业开发工具的方向发展,其动态调用Action的能力和新的ReportEvent功能也无疑迎合了大部分自动化测试脚本编写者的感受。QTP测试PDF文件的方法Adobe的PD
34、F文件是目前通用的文件格式之一,很多文档都以这种格式来存储。在使用QTP进行自动化测试的过程中,经常要验证PDF文件的内容是否满足要求,因此需要访问PDF文件的内部属性。幸好Adobe提供了以COM方式访问PDF的接口,使得我们可以实现QTP测试PDF的自动化过程。下面是一个简单的例子,用于打开一份PDF文档,读取PDF文档的页数: * 目的:打开一份PDF文档,读取PDF文档的页数 输入参数: 返回结果: 注意事项: 作者:陈能技(/testing_is_believing) 日期:2008-7-6 *Option ExplicitDim gApp, gPDDoc, jsoSet gApp
35、= CreateObject( AcroExch.App )Set gPDDoc = CreateObject( AcroExch.PDDoc )If gPDDoc.Open( D:DocAutomatedTesting.pdf ) ThenMsgbox gPDDoc.GetNumPagesEnd IfSet gPDDoc = Nothing : Set gApp = Nothing解决QTP崩溃问题在LearnQTP上看到一篇关于解决QTP崩溃问题的文章: HYPERLINK /qtp-crashes-hangs-freezes-frequently/ /qtp-crashes-hangs-
36、freezes-frequently/pal_drv.sys is the system driver that may be the culprit for your frequent QTP crash issues. This driver was developed for text recognition mechanism that QTP doesnt support now. To solve the QTP crash problem, you need to uninstall this driver and here is how: Go To command promp
37、t. Start Run Type cmd Change directory to C:Program FilesHPQuickTest Professionalbin using the command cd C:Program FilesHPQuickTest Professionalbin Type in nt_tr.exe remove as shown in the image below. You will see a message box stating Text recognition has been uninstalled. Reboot machine. It shou
38、ld work without reboot as well but just in case. Try opening QTP, it should no longer crash now. QTP中使用OR还是DP对于IE内存泄漏的影响对于在QTP中是使用OR还是DP一直存在争论。在 HYPERLINK 看到一篇文章,对于IE内存泄漏的问题做了一些测试,发现QTP的脚本写法不一样对于IE内存泄漏的影响程度也不一样:测试脚本写法测试前IE内存(MB)测试后IE内存(MB)内存泄漏(MB)IE进程CPU使用(%)测试时间(秒)使用QTP的对象库(OR)116154381535使用描述性编程(D
39、P)11724112445244组合OR和DP11724012345240OR/DP + Web Extensibility1221896740126测试基于一个使用了GWT控件的WEB应用程序(包含585个web对象)。如何让你的QTP脚本执行效率更高?在LearnQTP上看到两篇关于如何提高QTP脚本执行效率的文章:Make your QTP scripts perform better HYPERLINK /make-your-qtp-scripts-perform-better/ /make-your-qtp-scripts-perform-better/A quick QTP tip
40、 that may improve the performance of your scripts (for a web based app) HYPERLINK /qtp-tip-to-load-webfaster-remove-images/ /qtp-tip-to-load-webfaster-remove-images/Launch QTP using a .vbs file and not the QTP desktop icon. You will notice a substantial increase in speed. (使用VBS文件来启动QTP。)For large t
41、ests, always define variables, function in an external .vbs file and not inside a reusable action. Attach these files with your test scripts. If you define a variable or a function in an action, on every iteration of your test run, memory(RAM) will be allocated to those variables/functions and would
42、 not be released. Now as your script starts consuming more and more RAM, your System Under Test (SUT) will tend to become slower. (把变量和函数定义放到外部VBS文件,而不要放在Action中。)While running, QTP consumes a lot of memory by itself. It is always advisable to have lots of available RAM( much more than what is recom
43、mended by HP) and good processor speed on a system where you intend to install QTP. When you have tests (and hence QTP) running for a prolonged period if time, there are chances of memory leaks. To avoid memory leakage always restart QTP at some intervals of time. Using AOM you can automate this pro
44、cess. (通过AOM控制QTP重启来解决QTP内存泄漏问题。)Avoid using hard coded wait(x) statement. Wait statement waits for full x seconds, even if the event has already occurred. Instead use .sync or exist statement. While using exist statement always have a value inside it. (尽量不要使用wait,而使用.sync或exist语句。)For ex: .Exist(10
45、) Here QTP will wait max till 10 seconds and if it finds the object at (say) 3 secs , it will resume the execution immediately thereby saving your precious time. On the other hand if you leave the parenthesis blank, QTP would wait for object synchronization timeout you have mentioned under File Test
46、 Settings Run Tab.Make full use of what HP-QTP has provided you in the tool IDE. Use “Automatically Generate “With” statements after recording” option present under Tools Options General Tab. This will not only make your code look neater but also make your scripts perform better. (使用With语句可以让代码更清晰,而
47、且效率更好。)Make your own judgement whether you want to go for Descriptive Programming or Object Repository or mixed approach. Each approach has it own pros and cons that in turn is related to QTP performance.(使用OR要比DP快点。) Unless absolutely required, uncheck the options “Save still image capture to resul
48、ts” and “Save movie to results” present under Tools Options Run tab. These options definitely have some bearing on QTP run time performance.(不要保存image和movie到测试结果中。) Make the Run Mode as “fast”. This setting is present under Tool Options Run tab. Note: If you intend to run your scripts from QC no nee
49、d to worry about this option, as the scripts WILL run in fast mode whether you want or not. (把运行模式设置为fast。)If you are new to automation or QTP. Read this beginner article on HYPERLINK /2008/05/qtp-aom-and-how-to-write-scripts-in-aom.html t _blank Automation Object Model (AOM). AOM simplifies many as
50、pects of QTP scripting. It can help you in controlling QTP from an external file. (通过AOM控制QTP。)Make use of relative paths while calling reusable actions in your script. Using relative path would make your script portable and easy to manage. (在调用Action时使用相对路径。)可以使用下面的代码测试一下使用与不使用With语句在代码效率上的差异 :Dim
51、StartTime, EndTime, StartTime1, EndTime1SystemUtil.Run C:Program FilesHPQuickTest Professionalsamplesflightappflight4a.exeWith Dialog(Login).WinEdit(Agent Name:).Set mercury.WinEdit(Agent Name:).Type micTab.WinEdit(Password:).SetSecure 4864ede3f3f8f30757cf694e3e100d29bf1ea9b9.WinEdit(Password:).Type
52、 micReturnEnd WithStartTime = TimerFor i=1 to 100Window(Flight Reservation).WinEdit(Name:).Set AnkurNextWith Window(Flight Reservation)For i=1 to 100.WinEdit(Name:).Set AnkurNextEnd WithEndTime = TimerPrint EndTime - StartTime在测试WEB应用程序时,往往看到QTP运行速度比被测试的应用程序要快很多,往往都是QTP在等待页面加载完成。While working on a w
53、eb applications using QTP, you may have noticed most of the time QTP runs too fast in comparison to the application. Moreover QTP would not perform any operation on a particular page unless that page has loaded completely (100%). You may wonder in bewilderment about what to do to make the applicatio
54、n (web page) load faster. 如何让页面加载得更快呢?关键在于图片的加载。Here I would like to give you a simple tip to alleviate your pain (and waiting time) a bit. If you will notice carefully, most of the times text on a web page renders very quickly. It is the images that creates problem and increases the web page loadin
55、g time. What if we can stop the images from loading altogether? All browsers provides this facility whereby you can stop pictures from showing. To do this in IE6, go to Tools Internet Options Advanced tab. Scroll down to Multimedia section and uncheck Show pictures.To do this in Firefox, go to Tools
56、 Options Content. Uncheck Load Images automaticallyRun your script now and let us know if this tip helped you. For obvious reasons, this tip wont be of any use when you have to work on image/bitmap checkpoints.当然,如果考虑到图片检查点的话,这个技巧就没用了。揭秘QTP保留对象机制在QTP的帮助文档中,介绍了通过Dictionary对象来在Action之间共享数据的方法,就是在注册表中添
57、加一个保留对象(reserved object),例如“GlobalDictionary”,把Dictionary对象作为环境变量来使用,可以在多个Action之间共享数据。文档中仅介绍了如何在注册表中添加这个对象的注册信息,实际上还可以设置更多的注册信息,让添加的保留对象更好用、更强大。本文将深入探索QTP的保留对象机制,以及如何利用QTP的保留对象机制来简化测试脚本的编写工作。什么是保留对象?在QTP自动化测试脚本编写过程中,我们通常会使用QTP提供的一些函数或对象,例如帮助文档中列出的Utility中的对象:Crypt ObjectDataTable ObjectDescription
58、ObjectDotNetFactory ObjectDTParameter ObjectDTSheet ObjectEnvironment ObjectExtern ObjectLocalParameter ObjectMercuryTimers Object (Collection)MercuryTimer ObjectParameter ObjectPathFinder ObjectProperties Object (Collection)QCUtil ObjectRandomNumber ObjectRecovery ObjectReporter ObjectRepositoriesC
59、ollection ObjectRepository ObjectServices ObjectSetting ObjectTextUtil ObjectTSLTest ObjectXMLUtil Object这些都是QTP的保留对象,或者称之为“内置对象”,它们封装了各种常用的函数,对于简化测试脚本的编写起到很大的作用,例如使用DotNetFactory这个保留对象就可以方便地访问、创建和使用.NET的对象,下面是一个小例子,用于创建.NET的Form窗体对象,显示一段时间后关闭:Set var_CreateInstance = DotNetFactory.CreateInstance(Sy
60、stem.Windows.Forms.Form, System.Windows.Forms) var_CreateInstance.Show wait 2 var_CreateInstance.Close注册自定义保留对象按照QTP的帮助文档的提示,我们可以通过修改注册表的方式来添加自定义的保留对象。例如,添加Dictionary保留对象的方法如下:(1)打开注册表,定位到下面注册项:HKEY_CURRENT_USERSoftwareMercury InteractiveQuickTest ProfessionalMicTestReservedObjects实际上,从该注册项所包含的子项可以看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5.2 珍惜师生情谊(教学设计)2026-2027学年度道德与法治 七年级上册统编版
- 化工蒸发工创新应用能力考核试卷含答案
- 高中劳动技术高一下学期教学设计 玉树盆栽养护技艺实践
- 贵金属首饰机制工风险评估与管理水平考核试卷含答案
- 小学五年级综合实践活动《神奇水世界·健康饮水》教学设计
- 高中劳动技术教学设计:雪冬寻味-无油低糖蓝莓贝果的营养重构与工艺创新
- 小学三年级信息技术初识奇奕画王教学设计
- 绞车操作工岗前内部控制考核试卷含答案
- 黄酒灌装工操作技能水平考核试卷含答案
- 啤酒糖化工创新应用水平考核试卷含答案
- 厦门大学介绍
- 国家安全法培训课件
- T/CSPSTC 70-2021短线法节段预制拼装桥梁监控量测技术规程
- QGDW12258-2022深基坑作业一体化装置
- 2024年苍南县旅游投资集团有限公司招聘笔试冲刺题(带答案解析)
- 老年步态训练技术之走路姿势指导护理课件
- 解放思想-实事求是思想路线课件
- GB∕T 1927.8-2021 无疵小试样木材物理力学性质试验方法 第8部分:湿胀性测定
- 活塞式空压机课件
- 导流洞洞身混凝土衬砌施工工法.doc
- (电大复习)专科植物病虫害防治基础期末复习资料-姚
评论
0/150
提交评论