1.  QTP介绍

QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。

MercuryQuickTest 企业级自动化测试工具! 目前已经被惠普收购,正式名字为HP QuickTest Professional software ,最新的版本为HPQuickTest Professional 11.0

HPQuickTest Professional 提供符合所有主要应用软件环境的功能测试和回归测试的自动化。采用关键字驱动的理念以简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。

QTP进行功能测试的测试流程 [制定测试计划]——>[创建测试脚本]——>[增强测试脚本功能]——>[运行测试]——>[分析测试结果] 大致五个步骤。

QTP描述详见:http://baike.baidu.com/view/852081.htm

2.  QTP9.2QTP10的优缺点
  1. QTP9.2没有自带插件的安装,只默认安装了ActiveX、web、Visual Basic。

  2. QTP9.2录制的窗体对象通过window id进行识别,每次回放,因为windows id发生变化,会导致不能找到之前录制的对象,会提示“对象无法识别”。(解决此问题,可以手动更改录制对象的属性,不让对象以windows id识别,可以更改为x,y坐标或者对象名称)。

  3. 由于系统包含大量的.NET或java等等插件,所以录制后的操作都是以坐标在进行记录,回放的时候也是根据坐标在读取并回放。如果项目界面变动或环境分辨率变动,之前录制的脚本将找不到对象。所以可移植性非常差。

为解决上述基本的问题,所以我们将不再考虑使用QTP9.2,将对QTP10进行学习和使用。

  1. QTP10不仅自带了ActiveX、web、Visual Basic插件,还包含.NET插件、java插件、oracle插件、PeopleSoft插件、WebService插件等等。

  2.  QTP10不涉及windows id问题,它可以根据我们选择的插件,自动识别对象,通过对象的属性或方法进行脚本录制。由于QTP10是根据对象的属性和方法进行脚本录制,所以移植性强,即使项目位置变动,QTP始终能通过对象的属性找到该对象。

  3.  QTP10提供的插件有限,如果碰到一些不被支持的.NET控件时,录制下来的脚本将会以低级鼠标和键盘操作活动反映出来。这时可以通过编码方式使用扩展模块对.NET控件进行支持。

    3.QTP操作说明

    3.1界面说明

QTP的使用举例说明_qtp

3.2操作步骤

1.根据被测试系统加载插件(下面以Mesis系统为例)。双击打开QTP工具,进入QTP-Add-in Manager窗口选择插件。MESIS包括.NET插件和BCGSoft插件。勾选上.NET插件和WEB插件,点击“OK”。由于不包含BCGSoft插件,所以需要使用C#对QTP的.NET插件BCGSoft进行扩展。

(注意:如果要测试.NET Web Forms的控件,那么需要把.NET和Web都选上。如果只选择.NET插件,单击“OK”,会提示必须选择WEB插件。)

QTP的使用举例说明_使用举例_02

 

2.设置录制系统。 B/S选择web选项卡,C/S选择windowsApplications选项卡。选择windows Applications选项卡,勾选上第二个radiobutton,选择第一个和第三个复选框,添加要录制的系统。

 

QTP的使用举例说明_qtp_03

QTP的使用举例说明_qtp_04

 

 

3.进入录制界面,点击“record”开始录制。

 

4.按照系统执行过程,录制脚本,录制完成之后点击“stop”停止录制。录制完成之后的界面如下图所示:

QTP的使用举例说明_使用举例_05

5.点击“Run”,回放录制的脚本。回放结束后,会自动打开Test Results结果。

QTP的使用举例说明_qtp_06

4.  注意事项

1.假如在执行QTP时,未开启【Add-in Manager】,请点选【Tools】>【Options】,在【General】页签勾选【Display Add-in Manager on startup】,下次执行,就可以看到【Add-in Manager】的窗口了。

QTP的使用举例说明_使用举例_07 

5.  使用C#扩展.NET插件

第一步:安装Custom Server模板。在QTP的安装目录下找到“InstWizard.msi”的安装文件,用于安装Custom Server模板。可以发现在C#中多了一个名为“QuickTest CustomServer”的模板。

QTP的使用举例说明_qtp_08

 

第二步:建立.NET控件的测试扩展项目。

(1)           在上图中,选择“QuictTest CustomServer,输入项目名和存储位置后,单击“确定”按钮,出现下图界面,在“Server Class name”中输入扩展控件的名称,例如“ToolBarCustomerServer”,选中“Customize Record Process”和“Customize Run process”,接受其他默认设置。

QTP的使用举例说明_使用举例_09 

(2)           在“Customized Control type”中输入“BCGSoft.ControlBar.ToolBar”,然后点击“finish”按钮,完成设置。

QTP的使用举例说明_qtp_10

第三步:实现控件录制逻辑。监听ToolBar点击事件,代码如下。

 QTP的使用举例说明_qtp_11

第四步:回放录制的脚本,代码如下。

QTP的使用举例说明_使用举例_12 

第五步:将测试扩展项目中的Configuration.XML文件的内容复制到QTP/dat/SwfConfig.xml文件里。

QTP的使用举例说明_qtp_13 

第六步:使用QTP进行系统录制。录制脚本如下图,可以看到目前录制的脚本大部门是根据对象在进行识别,只有部分是通过坐标识别。

QTP的使用举例说明_qtp_14