QTP全称Mercury QuickTest Professional,是一款自动化测试工具,用于软件的功能测试和回归测试。它能够录制用户行为,并自动进行重放、捕获及验证,可以代替测试人员去完成那些重复性高并且枯燥的工作。

  录制用户行为,也是录制测试脚本,所有录制的用户行为都能够追踪到脚本代码。脚本的重用作为测试自动化的一个方面,是指将一些通用的、固定的用户行为从测试脚本中提取出来,作为独立部分,在其它脚本中加以引用。这样,避免了一些通用行为的重复录制,有利于测试框架的搭建。

  本文将简单介绍Mercury QuickTest Professional 8.2中脚本的重用方法。

  QTP中的Action

  QTP中脚本可重用的小单元是Action,录制的用户行为集合将以脚本代码的形式存放在Action中。当你录制脚本的时候,只有一个Action,录制的脚本也全部在这个Action中,可以将这个Action进行切割,提取通用脚本并模块化。

  QTP提供四种操作Action的方式:

  1、New Action:新建一个Action,可以在其中录制、编辑脚本;

  2、 Split Action:将一个Aciton分割成两个Action;

  3、 Copy of Action:复制一个Action,即创建一个副本。两个Action相互独立,修改其中任何一个,不会影响另一个;

  4、 Call to Action:如同编程语言中的函数调用,测试脚本中也可以引用或调用一个可重用的Aciton,这个Action可以是任一测试脚本文件中声明为Reusable(可重用)的Action。注意:不允许在引用端修改被调用的Action,只能在原脚本文件中修改。

  脚本重用示例

  Call to Action是QTP重用脚本的核心,下面简单介绍一个使用这种方式来重用脚本的例子。

  测试一个简单的B/S结构的办公自动化系统的常用功能。

  大体流程为:登录系统―业务处理―退出系统。

  其中登录系统和退出系统属于可重用性比较强的功能模块,如果系统允许同一用户同时在多台计算机上登录的话,可以单独建立一个脚本文件,将登录和退出录制成两个可重用的Action,以便重用。业务处理流程比较多样了,它包括文稿审批、个人日志管理、请假申请等功能模块。

  测试一个功能模块的完整用户行为包括登录系统,执行特定的业务流程,执行完毕后退出系统。可使用一个测试脚本文件测试一个特定的功能模块,系统登录和退出模块可以使用Call to Action方式进行重用,不需要在每个模块的测试中都进行录制。

  具体步骤如下:

  步骤1:录制系统登录和退出脚本。

  新建login_out脚本文件,在Record and Run Setting选项卡中,选择IE方式并输入办公自动化系统的网址,点击OK进行录制。QTP将自动打开办公自动化系统的网页,输入用户名和密码登录系统,再退出系统。然后结束录制,QTP将自动生成脚本。

  步骤2:使用Split Action方式将login_out脚本中的Action分割成login和logout两个Action。

  login是系统登录部分的脚本,logout是退出部分的脚本。具体的分割步骤本文不作说明,读者可参阅QTP的使用手册。

  步骤3:将login和logout设定为可重用。

  打开两个Action的Action Properties对话框,点选Reusable action选项,点击OK后,两个Action便可以被其它脚本文件引用了。

  步骤4:录制业务处理脚本。

  按照步骤1新建process脚本文件进行任一功能模块的测试脚本录制。在登录系统进入主界面后,按下工具列中的Record按钮,开始录制相关的业务操作,完成后再按下Stop按钮结束录制,并将Action命名为processing。

  这样,process文件包含一个Action名为processing,其中录制了一段系统业务处理流程的测试脚本,但并未包含用户的登录和退出行为,不能直接自动执行,需要手工登录系统进入主界面后,才能执行。

  步骤5:调用login和logout,完善process脚本。

  打开process脚本,在菜单中选择Insert―Call to Existing Action选项,打开Select Action对话框,选择login_out脚本,选择login,点击OK进行Action的引用。用同样的方法应用logout。注意,调整三个Action的顺序为login―processing―logout。

  完成以上五个步骤后,可以执行process脚本进行调试。

  小结

  脚本重用作为测试自动化的一个方面,缩短了脚本的编制时间、利于脚本的架构与维护。在脚本文件中直接调用可重用的脚本,避免了重复录制,节省时间。

  自动化测试人员可以把一个Action中的用户行为分割成很多Action,从中提取出重用性高的设置为Reusable action保存在单独的文件中,并利用这些Reusable action来灵活地架构自己的测试脚本。当一个可重用的脚本需要修改时,仅需在它的源文件中进行改动,调用它的脚本都会随之改动,方便了脚本的维护。