8.2 参数化测试
在QTP中,可以通过把测试脚本中固定的值替换成参数的方式来扩展测试脚本,这个过程也叫参数化测试,能有效地提高测试的灵活性。
8.2.1 通过参数化测试来提高测试的灵活性
可以通过参数化的方式,从外部数据源或数据产生器读取测试数据,从而扩大测试的覆盖面,提高测试的灵活性。在QTP中,可以使用多种方式来对测试脚本进行参数化,数据表参数化(Data Table Parameters)是其中一种重要的方式,还有环境变量参数化(Environment Variable Parameters)、随机数参数化(Random Number Parameters)等。
下面以QTP自带的“Flight”程序为例,介绍如何对测试脚本进行参数化。假设在名为“Flight Reservation”的订票界面中,输入航班信息后,插入订票记录,然后,希望重新打开该记录,检查航班信息中的终点的设置是否正确,录制的测试脚本如图8.2所示。
图8.2 录制的测试脚本
提示:对于这样一个测试脚本,仅能检查特定的航班订票记录的正确性,如果希望测试脚本对多个航班订票记录的正确性都能检查,则需要进行必要的参数化。
8.2.2 参数化测试步骤
首先,把测试步骤中的输入数据进行参数化,例如航班日期、航班始点和终点等信息。下面,以“输入终点”的测试步骤的参数化过程为例,介绍如何在关键字视图中对测试脚本进行参数化。
(1)选择“Fly To :”所在的测试步骤行,单击“Value”列所在的单元格,如图8.3所示。
图8.3 设置参数值
(2)单击单元格旁边的“<#>”按钮,或按快捷键“CTRL+F11”,则出现如图8.4所示的界面。
图8.4 选择参数从Data Table读取
提示:在这个界面中,选择“Parameter”,在旁边的下拉框中选择“Data Table”,在“Name”中输入参数名,也可接受默认名,在“Location in Data Table”中可以选择“Global sheet”,也可以选择“Current action sheet(local)”,它们的区别是参数存储的位置不同。