QuickTestProfessional8.2教程.ppt

上传人:cl****1 文档编号:572234341 上传时间:2024-08-12 格式:PPT 页数:39 大小:843.01KB
返回 下载 相关 举报
QuickTestProfessional8.2教程.ppt_第1页
第1页 / 共39页
QuickTestProfessional8.2教程.ppt_第2页
第2页 / 共39页
QuickTestProfessional8.2教程.ppt_第3页
第3页 / 共39页
QuickTestProfessional8.2教程.ppt_第4页
第4页 / 共39页
QuickTestProfessional8.2教程.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《QuickTestProfessional8.2教程.ppt》由会员分享,可在线阅读,更多相关《QuickTestProfessional8.2教程.ppt(39页珍藏版)》请在金锄头文库上搜索。

1、Mercury QuickTest Professional 8.2教程教程8/12/2024iSoftStone Information Service Corporation目录目录目录目录1.自动化测试简介自动化测试简介2.QuickTest Pro简介简介3.QuickTest Pro的测试流程的测试流程4.QuickTest Pro 进阶进阶22005 iSoftStone Information Service Corporation. All rights reserved.1.1.自动化测试简介自动化测试简介GUI自动化测试方面的理论有很多,众说纷纭。比较受认同的观点有:自动化

2、测试可以将测试人员从重复枯燥的手工操作中解放出来,让测试人员有更多的精力关注在对被测系统的分析上。测试人员将更加重视测试用例的设计。自动化测试在现阶段不能取代手工测试。凡是重复枯燥的工作,都可以也应该被自动化测试取代。回归测试是使用自动化测试的一个比较适宜的阶段。自动化测试需要在覆盖率和实现成本上找到平衡点。覆盖率越高,实现和维护成本越大。覆盖率低,自动化测试没有实现的价值。针对产品,应该在自动化测试中实现实施测试的关键流程。自动化测试需要测试人员有一定的软件设计和开发能力,同时也要对被测系统的业务有一定的认识。自动化测试需要有完善的测试流程和测试策略做保证。自动化测试的脚本的维护成本比较高。

3、32005 iSoftStone Information Service Corporation. All rights reserved.2. QuickTest Pro 2. QuickTest Pro 简介简介QuickTest Professional是新一代自动化测试解决方案,采用了关键词驱动(Keyword-Driven)测试的理念,能完全简化测试的创建和维护工作。QTP的界面介绍:的界面介绍:Test Pane包括Keyword View 和Expert View两个视图。图中显示的是关键词视图,录制生成的脚本可以在这里很直观的看到,可以在此视图完成参数化的工作。Expert V

4、iew可以在在此视图中直接修改生成的脚本,适合对VB脚本和QTP的函数比较熟悉的测试人员使用。Data Table,就是一个Excel,用于提供自动化测试脚本所需的输入数据或者校验数据。指向测试脚本文件目录下的Default.xls文件。可以直接在Excel中编辑数据。Active Screen,录制脚本时生成,记录下Web页面,可以在此完成大量的修改脚本工作,如添加检查点等。42005 iSoftStone Information Service Corporation. All rights reserved.2. QuickTest Pro 2. QuickTest Pro 简介简介52

5、005 iSoftStone Information Service Corporation. All rights reserved.3. QTP3. QTP的测试流程的测试流程设计测试用例的测试数据设计测试用例的测试数据录制测试脚本录制测试脚本修改并调试测试脚本修改并调试测试脚本执行测试脚本执行测试脚本分析测试报告分析测试报告回报发现的缺陷回报发现的缺陷62005 iSoftStone Information Service Corporation. All rights reserved.设计测试用例的测试数据设计测试用例的测试数据设计测试用例的测试数据设计测试用例的测试数据分析业务,设

6、计你的测试用例,决定要测试和校验哪些功能点(根据需求或者设计文档)。设计你的测试用例的测试数据。根据QTP的功能特点和实现成本,决定哪些用例手工执行,哪些用例使用QTP执行。分析这些需要实现的自动化测试过程,合理安排录制脚本的顺序,尽量使生成的脚本复用。这个需要经验的积累。例:现在要测试银企登陆页面,详细的测试数据如下:72005 iSoftStone Information Service Corporation. All rights reserved.设计测试用例的测试数据设计测试用例的测试数据设计测试用例的测试数据设计测试用例的测试数据82005 iSoftStone Informat

7、ion Service Corporation. All rights reserved.录制测试脚本录制测试脚本录制测试脚本录制测试脚本当在Web页面或者其它的应用程序的GUI上执行操作时,QTP会记录下你的操作步骤,并产生测试脚本。当你停止录制测试脚本后,会看到QuickTest在Keyword View中以表格的方式显示测试脚本的操作步骤(steps)。根据测试数据,执行后生成的脚本如下(树状结构):92005 iSoftStone Information Service Corporation. All rights reserved.录制测试脚本录制测试脚本录制测试脚本录制测试脚本1

8、02005 iSoftStone Information Service Corporation. All rights reserved.修改并调试测试脚本修改并调试测试脚本修改并调试测试脚本修改并调试测试脚本l添加对象和步骤添加对象和步骤l参数化参数化l增加条件控制增加条件控制l建立检查点建立检查点l建立输出值建立输出值l分割脚本分割脚本112005 iSoftStone Information Service Corporation. All rights reserved.添加对象和步骤添加对象和步骤添加对象和步骤添加对象和步骤可以发现,我们录制的脚本中,缺少用户名和密码的输入框这两个

9、对象。下面增加在用户名和密码的输入框输入值的这两个步骤。选中“iTreasury资金管理平台”这个Page对象,点击insert-newstep;如果你所要添加的控件QTP已经识别过类似的控件,你可以使用这个类似的控件,并且通过修改属性来添加这个新的步骤,如果QTP没有识别过,选择step generator,弹出对话框;点击图中的 图标按钮,弹出对话框,点击其中的按钮 ,鼠标会从箭头变为手型指针,在你要测试页面上选中你要添加步骤所需要的控件用户名和密码的输入框添加用户名和密码输入框中的值(value),“”是指在输入框中输入空。点击ok,所选对象的属性将被保存到对话框中,再点击“ok”按钮就

10、完成了整个添加点击“确定”按钮这个步骤。 122005 iSoftStone Information Service Corporation. All rights reserved.添加对象和步骤添加对象和步骤添加对象和步骤添加对象和步骤最后,使用使用TestUpdate Run方式运行脚本方式运行脚本。Update Run方式运行脚本,可以在运行的同时更新Active Screen,checkPoint 以及Test Object。特别是更新Active Screen的功能,手工添加的步骤使用普通方式运行脚本,不会生成Active Screen,这样就无法添加检查点。另外,也可以在对象库(

11、Object Reponsitory)中添加对象。132005 iSoftStone Information Service Corporation. All rights reserved.参数化参数化参数化参数化根据测试数据,可以发现,执行的所有操作,只是修改登陆名和密码,所以我们可以把这两个输入值参数化,使得脚本执行时,自动取DataTable的值来运行。调出参数化窗口的方法有两个:在KeyWord View中点击想要被参数化的值,如图中的“test1”,再点击出现的图标 ,或者使用快捷键“Ctrl+F11”;在 这个输入框对象上,右键,弹出对话框,选择“Object propertie

12、s”。不过在输入框对象中,使用不上。参数化时,可以选择使用Global Sheet或者Local Sheet,当把参数化的值放到Global Sheet中,就成为全局变量,放到Local Sheet中后,就是局部变量,只在本Action中可以调用。一般建议使用Local Sheet。Global全局参数:它控制整个Action的运行次数,global里有几行参数,则运行几次脚本。Current Action(Local Sheet):对应于单一的Action的参数,对于一个Action没有实际的意义,而几个Action共同在一个脚本中使用时,就由他来控制单一Action的循环次数。142005

13、 iSoftStone Information Service Corporation. All rights reserved.增加条件控制增加条件控制QuickTest中的条件控制语句是通过VB脚本语言来实现的。If 条件1正确 Then执行语句1ElseIf 条件2正确 Then 执行语句2Else 执行语句3End If可以添加ElseIf子句以扩充 If.Then.Else 语句的功能,使您可以控制基于多种可能的程序流程。判断Excel中某列的值是否为空: DataTable(“列名”,dtLocalSheet)”152005 iSoftStone Information Servi

14、ce Corporation. All rights reserved.建立检查点建立检查点建立检查点建立检查点弹出对话框的内容是我们需要校验的重要信息。可以在弹出对话框的文字上添加标准检查点:在Active Screen中显示的弹出对话框的文字上右键,选择“Insert Standard checkpoint”,在弹出框中选择”Static:请输入密码”,然后点击“OK”按钮选中“请输入密码”的字样,然后在Configure value的标签中选中Parameter的单选框,点击 图标按钮。在name的输入框中输入你给弹出框内容起的名字,做一个标识,如“校验信息”,这对应到DataTable

15、中的列名。同样,建议使用Local Sheet。162005 iSoftStone Information Service Corporation. All rights reserved.建立输出值建立输出值建立输出值建立输出值 与建立检查点类似,可以在Active Screen中右键“Insert Output Value”,操作方式相同。可以把弹出框的信息输出到DataTable中去。172005 iSoftStone Information Service Corporation. All rights reserved.分割脚本分割脚本分割脚本分割脚本可以把在页面输入和对弹出框的校验

16、分成两个Action。在Keyword View 中,选中弹出对话框的对象,点击“Step”菜单,选择“Spit Action”分别给页面输入和弹出框两个Action命名。点击“OK”按钮这样,原来的一个Action就分成了两个Action。任何一个Action都可以被其它的Action调用。在测试登陆的这个例子中,不需要分割Action。182005 iSoftStone Information Service Corporation. All rights reserved.执行测试脚本执行测试脚本执行测试脚本执行测试脚本 在DataTable中输入预先设计好的测试数据,然后执行编辑好的测

17、试脚本:Browser(iTreasuryPro资金管理平台).Page(iTreasuryPro资金管理平台).WebEdit(loginno).Set DataTable(用户名, dtLocalSheet)Browser(iTreasuryPro资金管理平台).Page(iTreasuryPro资金管理平台).WebEdit(password).Set DataTable(密码, dtLocalSheet)Browser(iTreasuryPro资金管理平台).Page(iTreasuryPro资金管理平台).WebButton(提交).ClickIf DataTable(checkMs

18、g,dtLocalSheet) ThenBrowser(iTreasuryPro资金管理平台).Dialog(Microsoft Internet Explorer).Static(请输入密码).Check CheckPoint(请输入密码)Browser(iTreasuryPro资金管理平台).Dialog(Microsoft Internet Explorer).WinButton(确定).Clickelseif DataTable(checkDBMsg,dtLocalSheet)Then192005 iSoftStone Information Service Corporation.

19、All rights reserved.执行测试脚本执行测试脚本执行测试脚本执行测试脚本Browser(Browser).Dialog(Microsoft Internet Explorer).Static(登陆失败,可能原因:用户和密码不匹配,请重新登录).Check CheckPoint(登陆失败,可能原因:用户和密码不匹配,请重新登录)Browser(Browser).Dialog(Microsoft Internet Explorer).WinButton(确定).Click else Browser(iTreasuryProtm).Page(iTreasuryProtm).Image

20、(main_bankportal).Check CheckPoint(main_bankportal)Browser(iTreasuryProtm).CloseEnd If在Keyword View 中选中Action,右键,点击“Action Call Properties”,弹出对话框,显示执行本Action的次数。选择“Run on all rows”,执行所有的数据。 202005 iSoftStone Information Service Corporation. All rights reserved.分析测试报告分析测试报告分析测试报告分析测试报告执行完测试数据后,或者意外中断

21、,测试执行结束,就会生成测试报告。测试报告也是一个树形结构,需要注意标记为“X”的报告项。如果有标记为“X”的报告项,可能是执行脚本出错,或者是检查点校验没有通过,可能是一个缺陷。212005 iSoftStone Information Service Corporation. All rights reserved.回报发现的缺陷回报发现的缺陷回报发现的缺陷回报发现的缺陷如果QTP和Mercury公司生产的缺陷管理工具如Test Director以及Quality Center连接起来,就可以把QTP中执行测试用例中发生的错误以及发生错误时的截图发到缺陷管理工具中去,生成缺陷报告。2220

22、05 iSoftStone Information Service Corporation. All rights reserved.QTPQTP进阶进阶进阶进阶通过录制的方法生成测试脚本,往往不能把页面的所有Web对象都录下来,虽然可以通过手动添加对象和步骤,来做一定的补充,但是灵活度比较低,只能执行比较简单的测试任务。一般来说,在QTP里面我们可以通过两种方式添加步骤来创建测试或组件:在应用程序或网站上录制会话。 建立对象库并使用这些对象在关键字视图或专家视图中手动添加步骤QTP中所有的操作都是基于对象来完成的,如果要想在关键字视图或者专家视图手动添加步骤,必须对对象模型有一定的了解。23

23、2005 iSoftStone Information Service Corporation. All rights reserved.QTPQTP进阶进阶进阶进阶lQTP的对象识别机制的对象识别机制l关键字驱动测试关键字驱动测试l描述性编程描述性编程l一些技巧一些技巧242005 iSoftStone Information Service Corporation. All rights reserved.QTPQTP的对象识别机制的对象识别机制的对象识别机制的对象识别机制测试对象模型是一大组对象类型或类,QTP用这些对象类型或类来表示应用程序或Web页面中的对象。每个测试对象类都有一个可

24、以唯一标识属于该类的对象的属性列表,以及一组 QTP可以对其进行录制的方法。它包括测试对象(Test Object)和运行时对象(RunTime Object)。测试对象是QTP在测试中创建的用于表示Web页面或应用程序的实际对象的对象。QTP存储有关的该对象的信息。例如,在前面的例子中有说到一个“提交”按钮,它的Html源代码是:可以看到这个Html标签的type是一个button,所以QTP将它识别为一个WebButton,它在当前Web页面可以标识的属性value=提交,这样,运行脚本的时候,QTP就通过type、value等属性在当前Web页面匹配符合这些属性的Web对象,或者说是ht

25、ml标签,然后再执行对“提交”按钮的Click方法。在对象库(Object Repository)中记录下“提交”按钮这个对象的属性。252005 iSoftStone Information Service Corporation. All rights reserved.QTPQTP的对象识别机制的对象识别机制的对象识别机制的对象识别机制在关键字视图和专家视图中分别显示为:Browser(iTreasuryPro资金管理平台).Page(iTreasuryPro资金管理平台).WebButton(提交).Click262005 iSoftStone Information Service

26、Corporation. All rights reserved.关键字驱动测试关键字驱动测试关键字驱动测试关键字驱动测试关键字驱动或者称为关键词驱动(KeywordDriven),是为了解决通过录制的方法来产生脚本的问题。就是先把所有需要的Web对象都添加到对象库中,然后在关键字视图中手动添加测试步骤,这样就是一个设计脚本的工作,可视化程度非常高,非常直观。这中方法的缺点有:如果不手动添加脚本,仍然只能实现简单的测试任务。272005 iSoftStone Information Service Corporation. All rights reserved.描述性编程描述性编程描述性编程

27、描述性编程通常情况下,当在录制一个操作时,QTP会将被操作对象加入到对象库里(Object Repository)。一旦对象存在于对象库里,我们就可以在专家视图里通过添加相关的对象方法来对该对象进行操作。我们可以通过引用层次型对象库里的对象描述(Object Description)来添加相应的方法。因为QTP对象库中的每个对象都具有唯一名称,所以在引用时对象名是必须需要指定的。然后在测试运行期间,QTP在对象库中根据这个对象的名称和父对象来查找对象,并使用为这个测试对象存储的测试对象描述,在网站或应用程序中标识该对象。描述性编程,简单的来说,就是在专家视图中,手动编写脚本,对某个对象执行某种

28、操作。譬如,在用户名的输入框中输入“123”,用户名的输入框的在该页面的标识是loginno,其类型为WebEdit,对此输入框执行的是set一个值“123”,所以生成的脚本如下: WebEdit(“loginno”).set “123”282005 iSoftStone Information Service Corporation. All rights reserved.描述性编程描述性编程描述性编程描述性编程但是,这样的脚本,QTP并不知道这个文本输入框是在哪个页面的,所以需要在前面加上Browser和Page的信息,指明是哪一个Web页面的,最终生成的脚本是:Browser(iTre

29、asuryPro资金管理平台).Page(iTreasuryPro资金管理平台).WebEdit(“loginno”).set “123”QTP中Web对象比较常用的方法有:292005 iSoftStone Information Service Corporation. All rights reserved.描述性编程描述性编程描述性编程描述性编程如果如果Web对象没有被添加到对象库中,或者通过该对象没有被添加到对象库中,或者通过该Web对象的标识对象的标识QTP无法识别该对象(这种现象在识别无法识别该对象(这种现象在识别Browser中经常遇到,特别是中经常遇到,特别是放大镜),就可以

30、通过直接在脚本中输入编程描述的方式来解决。放大镜),就可以通过直接在脚本中输入编程描述的方式来解决。常规语法为:TestObject(PropertyName1:=PropertyValue1, . , PropertyNameX:=PropertyValueX TestObject - 测试对象的类。PropertyName:=PropertyValue - 测试对象的属性及其值。各个property:=value 对之间应用逗号和引号分开。302005 iSoftStone Information Service Corporation. All rights reserved.描述性编程

31、描述性编程描述性编程描述性编程例如,在弹出客户放大镜的页面,点击一个客户编号的超连接,形成的脚本如下:Dim bs_Title,pageTitlebs_Title=”客户放大镜- Microsoft Internet Explorer”pageTitle=”客户放大镜”Browser(“Title:=”&bs_Title).Page(“title:=”&pageTitle).Link(“text:=”&DataTable(“客户编号”,dtLocalSheet).Click312005 iSoftStone Information Service Corporation. All rights

32、 reserved.描述性编程描述性编程描述性编程描述性编程此外,还可以使用description对象。使用 Description 对象可以返回包含一组 Property 对象的 Properties 集合对象。Property 对象由属性名和值组成。然后,可以在语句中指定用返回的 Properties 集合代替对象名。(每个 property 对象都包含一个属性名和值)。要创建 Properties 集合,可以使用以下语法输入 Description.Create 语句:Set MyDescription = Description.Create() 例如,前面提到的放大镜的例子,使用de

33、scription对象就变成:Set bs_Title= Description.Create()Set pageTitle= Description.Create()bs_Title(“title”).value=”客户放大镜- Microsoft Internet Explorer”pageTitle(“title”).value=”客户放大镜”Browser(bs_Title).Page(pageTitle).Link(“text:=”&DataTable(“客户编号”,dtLocalSheet).Click当然bs_Title和pageTitle这两个对象中可以存放多个Key和其对应的

34、Value。322005 iSoftStone Information Service Corporation. All rights reserved.描述性编程描述性编程描述性编程描述性编程描述性编程的缺点:脚本调试花费比较多的时间。需要测试人员有一定的编程基础。332005 iSoftStone Information Service Corporation. All rights reserved.一些技巧一些技巧一些技巧一些技巧 QTP只支持VB脚本,同时提供了丰富的函数,或者称为方法,可以实现复杂的功能。如果要对弹出框的文字信息进行校验,就会用到GetROProperty这个方法:

35、checkMsg=Browser(软通动力).Dialog(Microsoft Internet Explorer).Static(是否保存?).GetROProperty(text)GetROProperty是得到Web对象的运行时的属性(运行时是弹出显示的什么内容,就得到什么内容);GetTOProperty是得到Web对象的原始属性(录制的时候是什么,得到的值就是什么)GetTOProperties得到该Web对象的原始属性集,是一个对象,包含了所有的属性值。对于dialog中,虽然提示信息对象名称是“是否保存?”,但如果信息对象名称是“客户编号不能为空”,不用更改也可以自动识别,“是否

36、保存?”是一个static的静态文本,只是让运行时能找到这个控制,而不管它是什么内容,因为在对象仓库中,text不是决定该对象的属性。342005 iSoftStone Information Service Corporation. All rights reserved.一些技巧一些技巧一些技巧一些技巧校验数据库的方法:将DataTable的值与数据库中的值进行校验,一般是校验增、删、改操作是否成功;将页面WebTable中的值和数据库中的值进行校验,一般是校验查询出来的值是否和数据库一致。测试查询和报表会用到。QTP或者说VBS链接数据库是使用ADO方式连接的,这个通用方法,我已经写好,

37、可以通过添加资源文件的方式,在脚本中直接调用该方法,在此不再赘述。352005 iSoftStone Information Service Corporation. All rights reserved.一些技巧一些技巧录制菜单:录制菜单:Js生成的菜单,QTP将其识别为WebElement,如果要在QTP中准确的生成菜单的脚本,需要进行一些设置。点击菜单Tools-Web event ,弹出对话框,点击“Custom Setting”按钮,按照下图调整设置。362005 iSoftStone Information Service Corporation. All rights rese

38、rved.一些技巧一些技巧录制下拉框录制下拉框下拉框在录制时,往往会记录下对下拉框的click操作,这样在回放时会出错。进行如下设置后,可以使生成的脚本正常。点击菜单Tools-Web event ,弹出对话框,点击“Custom Setting”按钮,按照下图调整设置。372005 iSoftStone Information Service Corporation. All rights reserved.一些技巧一些技巧放大镜的录制放大镜的录制一般对放大镜的操作有2种:1.在放大镜的输入框中,输入准确的编号,点击回车键,直接匹配,省却了在弹出页面再选择的步骤。缺点是有时候编号并不能唯一匹

39、配,就会显示弹出页,变数较大。2.在输入框中不输入任何的值,直接点击回车键,或者点击放大镜的图标,弹出放大镜页面,然后再选择。缺点是弹出放大镜的效率较低;优点是,生成的脚本稳定。另外在录制放大镜的过程中,一定要用鼠标点击放大镜图标,不要使用回车键。因为QTP在一般情况下,是将回车键,默认为submit的。如果一定要使用回车键的话,可以在生成的脚本中添加:Browser(软通动力).Page(软通动力).Frame(修改页面).WebEdit(upclientidCtrl).FireEvent (onfocus)set WshShell =CreateObject(WScript.Shell)WshShell.SendKeys ENTER“382005 iSoftStone Information Service Corporation. All rights reserved.参考资料参考资料QTP中的descriptive programming作者:周坚 何謂 Keyword-Driven Testing? 作者:oldsidney其它,参考一些上的论坛上的讨论。392005 iSoftStone Information Service Corporation. All rights reserved.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号