6.3 参数化测试
软件功能测试自动化实战教程
在UFT中可以通过把测试脚本中固定的值替换成参数的方式来扩展测试脚本,这个过程也叫参数化测试,能有效地提高测试的灵活性。
6.3.1 通过参数化测试来提高测试的灵活性
可以通过参数化的方式,从外部数据源或数据产生器读取测试数据,从而扩大测试的覆盖面,提高测试的灵活性。
在UFT中,可以使用多种方式来对测试脚本进行参数化,数据表参数化(Data Table Parameters)是其中一种重要的方式,还有环境变量参数化(Environment Variable Parameters)、随机数参数化(Random Number Parameters)等。
下面以自带的“Flight”程序为例,介绍如何对测试脚本进行参数化。假设在名为“航班预订”的订票界面中,输入航班信息后,插入订票记录,然后希望重新打开该记录,检查航班信息中的终点的设置是否正确,录制的测试脚本如图6-2所示。
提示:
对于这样一个测试脚本,仅能检查特定的航班订票记录的正确性,如果希望测试脚本对多个航班订票记录的正确性都能检查,则需要进行必要的参数化。
6.3.2 参数化测试步骤
首先,把测试步骤中的输入数据进行参数化,例如航班日期、航班始点和终点等信息。下面,以“输入终点”的测试步骤的参数化过程为例,介绍如何在关键字视图中对测试脚本进行参数化。
(1)选择“终点:”所在的测试步骤行,单击“值”列所在的单元格,如图6-3所示。
(2)单击单元格旁边的“< # >”按钮,或按快捷键“Ctrl+F,则出现如图6-4所示的界面。
提示:
在这个界面中,选择“参数”,在旁边的下拉框中选择“Data Table”,在“名称”中输入参数名,也可接受默认名,在“数据表中的位置”中可以选择“全局表”,也可以选择“当前操作表(本地)(U)”,它们的区别是参数存储的位置不同。
(3)单击“确定”按钮,在关键字视图中可看到,“值”值已经被参数化,替换成了如图6-5所示。
(4)这时,选择菜单“视图→数据”,则可看到如图6-6所示的界面。
可看到,在“p_Item”列中有一个默认数据“Frankfurt”,这是参数化之前录制的脚本中的常量,可以在“p_Item”列中继续添加更多的测试数据。
提示:
可以双击修改“p_Item”列名,让其可读性更强,例如,改成“FlyTo”。
(5)把其他几个数据也参数化,如图6-7所示。
运行时,就会从如图6-8所示的数据表格中提取数据来对测试过程中的各项输入进行参数化。
6.3.3 使用随机数来进行参数化
对于选择航班这个测试步骤的参数化来说会有所不同,因为航班会跟随所选择的起点和终点而变化,因此,需要做特殊的处理。如下列代码所示。
先通过访问Get ItemsCount属性,获取航班列表的行数,然后使用RandomNumber随机选取其中一项。最后再通过Select方法选择航班。参数化后的测试步骤如图6-9所示。
提示:
使用随机数也是测试脚本参数化的一种重要方法,在测试代码中,可用RandomNumber来实现,在关键字视图编辑的界面如图6-10所示,其效果与在脚本中直接编辑是一样的。
6.3.4 参数化检查点
测试脚本的最后一个测试步骤是检查订票记录中的航班终点是否正确,同样需要进行适当的参数化,具体方法如下。
(1)单击检查点所在测试步骤的“值”列中的单元格,如图6-11所示。
(2)单击旁边的按钮,则出现如图6-12所示的界面。
(3)在“配置值”中选择“参数”后,可单击“确定”按钮接收默认的设置,也可单击旁边的编辑按钮,在如图6-13所示的界面中,进行参数化的详细设置。
在“参数”中,选择“Data Table”;可在“名称”修改参数名,或接受默认的命名,产生如图6-14所示的数据列,也可以选择“FlyTo”,因为检查点所指的航班终点得到的预期值应该与测试步骤中选择航班终点时的输入数据一致,否则认为错误。
6.3.5 设置数据表格迭代方式
把测试步骤和检查点的参数化工作都完成后,可得到如图6-15所示的测试步骤。
运行这个测试脚本之前,还要做一些必要的设置,选择菜单“文件→设置”,出现如图6-16所示的测试设置界面,切换到“运行”页,在“数据表迭代”中,可设置数据表格的迭代方式。
运行,得到测试结果。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。