




免费预览已结束,剩余46页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.3 QTP自动化测试工具培训1.3.1 QTP工具简介QTP是QuickTest Professional的简称,是Mercury 公司的一种功能自动化测试工具,目前已被惠普收购,最新的版本为HP QuickTest Professional 10.0,以下我们以QTP9.2版本为例。使用QTP的目的是用它来执行重复的手动测试,主要用于回归测试和测试同一软件的新版本。1.3.2 QTP的安装和配置在获取QTP的安装程序后,就可以进行QTP的安装过程。对于初学者和希望了解QTP产品特性的测试人员,可以从HP网站上下载试用版。 安装要求安装QTP9.2需要满足一些硬件条件,如下所示:l CPU:奔腾3以上的处理器,推荐使用奔腾4以上的处理器。l 内存:最少512MB,推荐使用1GB的内存。l 显卡:4MB以上内存的显卡,推荐使用8MB以上的显卡。 QTP9.2支持的环境和程序QTP 9.2支持以下测试环境。l 操作系统:支持Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008。l 支持在虚拟机VMWare 5.5、Citrix MetaFrame Presentation Server 4.0中运行。l 浏览器:IE 6.0 SP1、IE 7.0、IE8.0 Beta2,Mozilla FireFox 1.5、Netscape 8.x。l QTP 9.2默认支持对以下类型的应用程序进行自动化测试:l 标准Windows应用程序,包括基于Win32 API和MFC的应用程序。l Web页面。l ActiveX控件。l Visual Basic应用程序。QTP 9.2在加载额外插件的情况下,支持对以下类型的应用程序进行自动化测试:l Java应用程序。l Oracle应用程序。l SAP应用程序。l .NET应用程序,包括.NET Windows Form、.NET Web Form、WPF。l Siebel应用程序。l PeopleSoft应用程序。l Web服务(Web services)。l 终端仿真程序(Terminal Emulators)。 安装步骤获取到QTP9.2的安装程序包后,就可以运行安装包进行安装,如图1.3所示。图1.3 启动安装单击“QuickTest Professional安装程序“,出现如图1.4所示的界面。图1.4 许可协议在这个界面中选择“我接受许可证协议中的条款“,然后单击”是“,出现如图1.5所示的界面。图1.5 输入注册信息在界面中输入“用户名“,”公司名称“,”维护号“后,单击”下一步“,出现如图1.6所示的界面。图1.6 设置与QC的链接该界面提示用户设置与QC的链接,可选择自动设置选项,也可以选择连接前手动设置。单击“下一步“按钮,出现如图1.7所示的界面。图1.7 选择安装类型在这个界面中,可选择“完全“安装QTP,也可选择”自定义“选项,点击”下一步“按钮,出现1.8所示。图1.8 选择安装位置注意:QTP及其插件的安装仅支持英文路径,也就是说不能再包含中文命名的文件夹目录中安装QTP或QTP的插件。单击“开始“进入安装。安装完成后要进行破解,破解步骤: 1.拷贝mgn-mqt82.exe到C:Program FilesMercury Interactive(创建)文件夹下。 2.创建C:Program FilesCommon FilesMercury InteractiveLicense Manager文件夹。 3.执行mgn-mqt82.exe。 4.打开qtp9.2,然后安装license,copy文件C:Program FilesCommon FilesMercury InteractiveLicense ManagerLSERVRC中#之前的字符串拷贝到license向导中的license输入的地方,就可以了。 QTP的基本配置安装好QTP后,就可以通过菜单“开始|所有程序|QuickTest Professional|QuickTest Professional“来启动QTP。l QTP帮助文档可以通过选择“开始|所有程序|QuickTest Professional|Documentation”来访问QTP的帮助文档。当然也可以在QTP中按F1打开联机帮助文档。l QTP的视频在安装好QTP后,随着QTP安装文件附带了几个视频教程,分别是DEPresentation.avi、KDTPresentation.avi、ORMPresentation.avi。这几个视频可在QTYP的安装目录中找到,例如“C:Program FilesMercury InteractiveQuickTest Professionalhelp”。 l QTP自带的样例程序QTP在安装时会把样例安装在机器上,可以通过选择“开始|所有程序| QuickTest Professional|Sample Applications”来查看和打开样例程序。样例包括一个Windows程序和一个Web程序。一个是“Flight”,一个是“Mercury Tours Web Site”,如下图所示。 l 插件加载设置与管理启动QTP,将显示如图2.1的界面。图2.1 插件管理界面QTP默认支持Active X,VB,Web插件,从性能上面考虑,建议只加载需要的插件。例如,QTP自带的样例应用程序“Flight”是标准Windows程序,可以只选择ActiveX插件。l 创建一个空的测试项目加载插件后,QTP显示如图2.2所示图2.2 进入选择界面选择“Turtorial“将打开QTP的帮助文档;选择”Start Recording“则进入测试录制功能;选择”Open Existing“将打开现有的测试项目文件;选择”Blank Test“则创建一个空的测试项目。l 录制和测试运行设置进入QTP主界面,如图2.3所示图2.3 QTP的主界面在主界面中,选择菜单“Automation|Record and Run Settings“,出现如图2.4所示的图。图2.4 录制和运行设置界面在这里,由于加载的插件不包括Web插件,因此,录制和运行的设置也仅针对“Windows Applications”,如果加载了Web插件,则多出一页“Web”的设置界面,如下图2.5所示。图2.5 “WEB“的设置界面l 制定需要录制的应用程序有两种录制方式,一种是“Record and run test on any open Windows-based application “,也就是说可以录制和运行所有在系统中出现的应用程序;另外一种是“Record and run only on”,这种方式可以进一步指定录制和运行所针对的应用程序,避免录制一些无关紧要的、多余的界面操作。1.3.3 QTP测试流程QTP进行功能测试的测试流程大致分为五个步骤:l 制定测试计划自动测试的测试计划是根据被测项目的具体需求,以及所使用的测试工具而制定的,完全用于指导测试全工程。QTP是一个功能测试工具,主要帮助测试人员完成软件的功能测试,与其他测试工具一样,QTP不能完全取代测试人员的手工操作,但是在某个功能点上,使用QTP的确能够帮助测试人员做很多工作。在测试计划阶段,首先要做的就是分析被测系统的特点,决定应该对哪些功能点进行测试,可以考虑细化到具体页面或者具体控件。对于一个普通的应用程序来说,QTP应用在某些界面变化不大的回归测试中是非常有效的。l 创建测试脚本当测试人员浏览站点或在应用程序上操作的时候,QTP的自动录制机制能够将测试人员的每一个操作步骤及被操作的对象记录下来,自动生成测试脚本语句。与其他自动测试工具录制脚本有所不同的是,QTP除了以VBScript脚本语言的方式生成脚本语句以外,还将被操作的对象及相应的动作按照层次和顺序保存在一个基于表格的关键字视图中。比如,当测试人员单击一个链接,然后选择一个CheckBox或者提交一个表单,这样的操作流程都会被记录在关键字视图中。l 增强测试脚本功能录制脚本只是实现创建或者设计脚本的第一步,基本的脚本录制完毕后,测试人员可以根据需要增加一些扩展功能,QTP允许测试人员通过在脚本中增加或更改测试步骤来修正或自定义测试流程,如增加多种类型的检查点功能,既可以让QTP检查一下在程序的某个特定位置或对话框中是否出现了需要的文字,还可以检查一个链接是否返回了正确的URL地址等,还可以通过参数化功能,使用多组不同的数据驱动整个测试过程。l 运行测试QTP从脚本的第一行开始执行语句,运行过程中会对设置的检查点进行验证,用实际数据代替参数值,并给出相应的输出结构信息。测试过程中测试人员还可以调试自己的脚本,直到脚本完全符合要求。l 分析测试结果运行结束后系统会自动生成一份详细完整的测试结果报告,可以查看测试结果,检查测试运行的正确性。在分析测试结果窗口中分为两个部分显示测试执行结果,在左边显示Test result tree,以阶层图标的方式显示测试脚本。可以选中“+”来查看每一个步骤,所有的执行步骤都会以图示的方式来显示。可以设定QuickTest以不同的资料执行每个测试或者某个动作,每执行一次反复称为迭代,每一次迭代都会被编号。右边则是显示测试结果的详细信息。在第一个表格中显示迭代式已经通过的还是没有通过的。第二个表格是显示测试脚本的检查点以及有几个警告信息。1.3.4 QTP基本功能的使用QTP的基本功能包括两大部分:一部分是提供给初级用户使用的关键字视图;另一部分是提供给熟悉VBScript脚本编写的自动化测试工程师使用的专家视图。但是,在实际应用中,两者可以结合使用。QTP自动化测试的基本过程一般包括5个步骤:(1) 录制测试脚本。(2) 编辑测试脚本。(3) 调试测试脚本。(4) 运行测试脚本。(5) 分析测试结果。 QTP窗口介绍QTP窗口主要包括下列关键元素:l 标题栏显示当前打开的测试或者组建的名称。l 菜单栏显示QTP的命令菜单。l 文件工具栏包含若干按钮,协助管理测试或者组件。l 测试工具栏包含若干按钮,帮助完成测试过程。l 测试窗体包含关键字视图和专家视图选项卡。l 数据表和状态数据表协助您对测试或组件进行参数化,状态栏显示 QuickTest 应用程序的状态。l Active Screen - 当您在录制会话过程中执行某个特定步骤时,提供了出现的应用程序的快照。 录制脚本在录制测试脚本,需要进一步的修改和调整,这些工作可以在关键字视图中进行,也可以在专家视图中进行。对于新手关键字视图可能更容易理解和使用,它不需要理解和熟悉测试脚本语言。例如,QTP自带的“Flight”程序,我们选择如下所示。点击“确定”,录制一段登录的脚本,如下图,步骤分别是:(1) 让Login窗口处于激活状态。(2) 在“Agent Name”输入框中输入字符串“mercury”。(3) 在“Password”输入框中输入密码。(4) 单击“OK”按钮。.1 在关键字视图中添加注释首先在关键字视图的表格列头中单击鼠标右键,选择“Comment”,则会多出一列名为“Comment”的列,在这一列中可为每一个测试步骤添加注释,如下图所示。.2 在关键字视图中添加测试信息的输出单击鼠标右键,选择“Insert Step|Report”,如下图所示。在界面的“Status”下拉框中,选择写入测试报告的状态;在”Name”中输入信息摘要;在“Details”中输入详细的测试步骤信息。例如,点击OK后,如下图所示。此时,运行后,会有报告生成,如下图所示:.3 插入检查点(checkpoint)在QTP中,检查点是一个特殊的步骤,他比较两个值并显示结果,这两个值是对象的属性,也就是测试对象所产生的值,QTP在测试运行过程中比较实际值与预期值进行比较,如果两个值匹配,检查点成功。QTP支持在测试步骤中添加如下类型的检查点:l 标准检查点(Standard Checkpoint):用于检查测试对象的熟悉。l 图像检查点(Image Checkpoint):用于检查被测试应用程序的图像。l 位图检查点(Bitmap Checkpoint):把检查被测试应用程序的某个区域当成图来检查。l 表格检查点(Table Checkpoint):用于检查表格信息。l 文本检查点(Text Checkpoint):用于检查文本字符串是否在应用程序中的适合位置出现。l 文本区域检查点(Text Area Checkpoint):用于检查文本字符串是否按定的标准出现在应用程序预定的区域。l 页面检查点(Page Checkpoint):用于检查网页的属性。l XML检查点(XML Checkpoint):用于检查XML文档。l 数据库检查点(DataBase Checkpoint):用于检查应用程序所访问的数据库。例如:想检查Login窗口的名称是否为“Login”,如果窗口名称不是,那么认为该测试不通过。可以在关键字视图中插入标准检查点功能来实现。(1) 首先,定位激活Login窗口所在的测试步骤。(2) 然后单击鼠标右键,选择菜单“Insert Standard Checkpoint”,出现下图所示。(3) 在界面中,选择需要检查的属性,例如“enabled“属性,设置为“True”,选择“Text”属性,设置为“Login”,单击“OK”。如下图所示。运行后会出现,查看检查点是否通过,如下图所示:.4 在关键字视图中插入新的测试步骤如果想在打开登录界面并激活Login窗口的测试步骤之后,而在输入代理机构名的测试步骤之前,先单击“Help”按钮查看帮助,则需要使用插入测试步骤的功能。(1) 选择“打开登录界面”所在的测试步骤,单击鼠标右键,选择菜单“Insert Step|Step Generator”,出现如图所示。“Category”包括“Test Objects”、“Utility Objects”和“Function”,分别代表的意义:n Test Objects:测试对象,即被测试应用程序的界面上的控件元素。n Utility Objects:工具对象,是QTP内建的各种用于编写测试脚本、辅助建立测试逻辑的工具类对象。n Function:各种函数,包括库函数、内建函数、本地脚本函数。(2) 在这里,选择“Test Objects”,然后点击“Object”下拉框旁边的图标按钮,出现如下的图,在界面中选择“OK”对象,然后单击“OK”按钮。在这里如果“OK”按钮不在列表中,可以利用手型按钮,然后移动到Flight程序的“Login”界面中,界面如下图。(3) 返回“Step Generator”界面后,在“Operation”的下拉框中选择“Click”,并把“Insert another step”选项勾选上,如下图。(4) 点击“Insert”按钮,然后单击“Close”按钮,返回关键字视图,可以看到新的测试步骤已经被添加,如下图。 编辑测试脚本在QTP中,选择菜单“View|Expert View”,可看到如下图的测试脚本。“Expert View”是一个强大的VBScript的脚本编辑器,在这里,可以直接编写测试脚本代码,适合熟悉VBScript语言、有较好的编码技巧的自动化测试工程师。.1 脚本编辑器的使用QTP提供的脚本编辑器支持“语法感知”功能,例如,在代码中输入“dialog(Login)”后加点,会自动显示一个下拉列表,从中可选取属于“Login”测试对象所包含的所有属性和方法,如图所示。.2 识别对象编辑测试的第一步就是识别测试对象,因为基于GUI的自动化测试主要是围绕着界面的控件来进行的。选择菜单“Tools|Object Identification”,会出现如下的界面。界面中看到的是基于Windows控件对应的对象识别方法,例如,对于dialog控件,使用的是“is child window”、“is owned window”、”nativeclass”和”text”这四个控件对象的属性来区别出一个唯一的dialog控件对象。可以点击“Add/Remove”按钮,来添加更多的控件属性。如下图。.3 Object Spy的使用QTP提供“Object Spy”工具可用于观察运行时测试对象的属性和方法。选择菜单“Tools|Object Spy”,会出现如下图所示。在界面中,点击右上角的手型按钮,移动到测试对象上,单击鼠标左键选择测试对象,会自动获取到该测试对象的所有属性和方法,如下图所示。.4 对象库的管理另一种观察和了解测试程序的界面控件元素,以及它们的层次关系的方法是通过对象库“Object Repository”。在QTP中,选择菜单“Resources|Object Repository”,出现如图所示的界面。.5 把测试对象添加到对象库中在对象库中,选择菜单“Object|Add Object to Local”,然后选择测试程序界面中的某个控件,例如,选择“Flight“程序的“Login”界面中的“Cancel”按钮,则会出现如下图所示。点击“OK“按钮后,把测试对象添加到对象库中,如下图所示。.6 参数化设置在QTP中,可以通过把测试脚本中固定的值替换成参数的方式来扩展测试脚本,这个过程叫做参数化测试,能够有效的提高测试灵活性。下面以QTP自带的“Flight”程序为例,介绍如何进行参数化测试。我们录制一段插入订票的记录。录制测试脚本如下所示:对于这个订票的脚本,如果希望测试脚本对多个航班订票记录的正确性能够都能检查,则需要进行必要的参数化。下面介绍参数化的步骤。l 首先将输入数据进行参数化,点击Fly From行中Value中的“”按钮,会出现如下所示,修改name为fly_from,在“Location in Data Table”中选择参数的存储位置。l 点击“OK”按钮,在关键字视图中可以看到,“Value”值已经被参数化,替换成“DataTable(“fly_from”,dtLocalSheet)”,如下图所示。这时,选择菜单“View|Data Table”,则可以看到如下图所示。在列表中看到有个默认数据“Frankfurt“,这是参数化之前录制脚本中的常量,可以在”fly_from“中添加更多的数据。l 小技巧:可以直接双击“fly_from”列名添加。l 把其他的几个数据都参数化后,如图所示。在QTP运行时,就会从下图的数据表中提取数据来对测试过程中的各项输入进行参数化。 测试脚本如下所示:.7 场景恢复一般情况下恢复场景操作只在不可预测测试事件发生操作,在可预见情况下可以使用if等条件语句来判断,并提供恢复的方法,例如在打印机缺纸时,不知道什么时候会出现没有纸的情况,因此采用场景恢复机制。1. 场景恢复的理论概述添加一个新的场景恢复,通过菜单Resource-Recovery Scenario Manager进入,主要分为以下四个步骤。l Trigger场景回复机制提供了四种类型的触发条件: Pop-up window:弹出对话框 Objec state:对象的特殊属性值 Test run error:运行错误 Application crash:应用程序失败可以根据具体的需求来添加各个类型的恢复场景,每种类型的选项可以在添加向导中选择,如下图。l Recovery恢复的操作可以是自定义按钮操作,函数调用,关闭应用程序进程,重起机器等等,几乎涵盖了所有QTP的正常操作,按照向导进行设置,操作很方便。也可以添加多个恢复操作,且调整执行顺序。注意:重起系统总是排在最后一个。添加操作完成,把Add another recovery operation前的按钮去掉,才可以进入下一步。l Post-recovery在Post-recovery中,又分了6个选项:Repeat current step and continue:重复当前步骤然后继续向下Proceed to next step:处理下一步Proceed to next action or component iteration:处理下一个Action,或者组件的下一个循环Proceed to next test iteration:处理该测试的下一个循环Restart current test run:重新启动当前的测试Stop the test run:终止测试运行l Name一切都设置好以后,就给你的场景恢复起个唯一的名字吧。也可以添加一些描述方便维护工作。开始使用场景恢复,在Test-Settings-Recovery中添加设置好的恢复场景,然后选择激活方式(On every step/On error/Never)。On every step,只要出现恢复的场景,就执行场景恢复中的动作,然后继续。On error,在出现错误的时候,才查找是否符合待恢复的场景,如果是则执行恢复操作。Never,无论如何,都不运行场景恢复机制。2. 场景恢复实例l 先录制一段“Flight”的脚本并且回放。脚本如下:l 在对象库中删除“OK”按钮对象,脚本还是上面的脚本,现在开始设置场景恢复错误处理,步骤如下:1) 点击菜单Resources-Recovery Scenario Manager进入“Recovery Scenario Manager”对话框,点击“new Scenario”按钮,进入“场景恢复向导界面”:2) 点击【下一步】,选择“触发事件”,在此例中选择“Test run error(测试中出现的错误)”:3) 点击【下一步】,选择“测试中会出现的错误”,在err中选择“object is not found”错误:4) 点击【下一步】,选择遇到错误,做什么样的操作,选择“keyboard or mouse operation”操作:5) 点击【下一步】,选择怎样的“键盘和鼠标操作”,这里选择“Click Default button/Press the ENTER key”点击了默认的按钮或者按回车按钮:6) 点击【下一步】,不选中恢复操作中的“Add another recovery operaton”增加另一个恢复操作:7) 点击【下一步】,选择测试运行操作“Proceed to next step”,跳转到下一步操作:8) 点击【下一步】,输入场景的名称:test19) 点击【下一步】,确认所有设置的场景恢复的信息,点击【完成】:10) 将设置的错误场景恢复加入当前的脚本中,点击FileSetting,在出现的test setting 对话框中选择Recovery 子模块,点击“+”按钮,把该错误场景的设置加入到当前脚本中,在“Activate Recovery scenario”中选择“on error”,一遇到错误就调用错误场景恢复的设置,点击【确定】:11) 设置全局错误相应为“Proceed to next step”,点击【确定】,运行当前脚本,脚本可以正常运行,运行完了的错误报告中会出现相应的错误:此报告中表示按照设定的错误恢复相应提示错误,这就是错误恢复设置,在设置错误恢复设置的时候有几点要注意的:1. 错误相应的优先级:错误恢复on error 全局错误2. 在设置错误恢复的时候,全局错误设置要与之相关联,才能出现所要的结果。3. 恢复场景操作只在不可预测测试事件发生操作,在可预见情况下可以使用if等条件语句来判断。 运行、调试测试脚本编辑好测试脚本后,在运行测试之前,可利用QTP的语法检查功能和脚本调试功能对测试脚本的逻辑进行检查。.1 语法检查选择菜单“Tools|Check Syntax”,或者按快捷键“CTRL+F7”对测试脚本进行语法检查,如果语法检查通过,则在“Information”界面显示如下图。如果检查有语法错误,会在Information界面中列出详细的信息,包括在哪个Action的哪行代码,双击信息,将转到相应的测试脚本的代码行,如下图所示。.2 使用断点语法检查通过后,可直接运行测试脚本,也可以设置断点对脚本进行调试。例如:在如下图中设置了断点。然后,按F5键运行测试脚本,运行过程中将在设置断点的地方停住。.3 单步调试【Step Into】(单步执行)、【Step out】(单步退出),【Step Over】(单步跳过)是最常用。 (1) 单步执行:在菜单中选择【Debug】【Step Into】,或者按“F11”键。如果在调试过程遇到脚本调用的组件或其他子定义的函数方法的时候,会进入具体的操作或者功能里,并在窗口显示这些被调用脚本。(2) 单步退出:在菜单中选择【Debug】【Step Out】,或者按“Shift+F11”组合键。它的作用就是运行完被调用的脚本并回到主脚本中。(3) 单步跳过:在菜单中选择【Debug】【Step Over】,或者按“F10”键。在当前步骤调用另一个操作或用户定义的功能时,被调用的操作或者功能将作为一个整体执行,但是被调用操作的脚本不会再QTP窗口中显示出来。.4 运行整个测试对测试脚本进行语法检查和调试无误后,可以按F5键来运行整个测试脚本。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司日常关怀活动方案
- 公司搞笑大挑战活动方案
- 公司班组文体活动方案
- 公司清洁活动策划方案
- 公司篮球运动会策划方案
- 公司线下年会活动方案
- 公司美食集市活动方案
- 公司线上拜年节目策划方案
- 公司电脑团购活动方案
- 公司申请经费策划方案
- 自主招生试题及答案网
- 2025年高考江苏卷物理真题(解析版)
- 2025年重庆市中考化学试卷真题(含标准答案)
- 2025年北海市总工会招聘社会化工会工作者题库带答案分析
- 2024年北京市初中学业水平考试语文试卷及答案
- 电力行业电力运行维护与故障处理知识题库
- 高考英语必背688个高频词汇清单
- 科学技术普及法解读
- 西山煤电招聘笔试题库2025
- 医院院感每月培训管理规范
- T-SCSTA001-2025《四川省好住房评价标准》
评论
0/150
提交评论