QTP在自动化测试过程中使用数据驱动的测试脚本开发方式是很重要的,很多时候我们录制好的脚本需要进行优化,最近的学习QTP,在脚本在参数化方面做了些笔记,如下:
QTP对测试脚本进行参数化有很多种方式,这里只能说说,包括如何使用QTP的Data Table参数化/ Action参数化/ 环境变量参数化等脚本参数化方法.
什么时候使用数据驱动测试方法??
当我们利用QTP进行录制脚本时,对录制和编辑好的测试步骤进行回放,这种是线性的自动化测试方式,其缺点是测试覆盖面比较低,数据驱动测试方法可以很好地解决这个问题.
数据驱动测试的一般步骤:
1.参数化测试步骤的数据,绑定到数据表格中的某个字段
2.编辑数据表格,在表格中编辑多行测试数据(这个取决于测试用例以及测试覆盖率的需要)
3.设置跌代次数,选择数据行,运行测试脚本每次跌代从中选择一行数据.
在QTP中,可以使用多种方式来对测试脚本进行参数化,数据表参数化(Data Table Parameters)是其中一种重要的方式,还有环境变量参数化(Environment Variable Parameters) /随机数参数化(Random Number Parameters )等.
Data Table参数化:
1.在QTP的Keyword View中选择需要参数化的步骤,单击Value列所在的单元格,如图:
2.单击单元格旁边的"<#>"按钮,或按CTRL+F11,出现如图:
3.选择Parameter----Data Table, Name可以自己改写,点击OK按钮,这时,选择菜单"View ---Data Table"调出Data Table窗口,对具体在参数内容编写.如图:
参数化检查点:
1.单击检查点所在测试步骤的"Value"列中的单元格,出现如图:
设置数据表格跌代方式:
当运行这个测试脚本之前,还要做必要的设置, 选择菜单"File --- Settings",切换到Run选项卡,在"Data Table iterations"中可设置数据表的跌代方式.
Action 测试输入的参数化:
对于重复使用的测试用例,可以转化成公共测试用例,适当参数化后,可被其他用例调用,在QTP中,可以把Action的输入适当参数化,转换成可重用的测试步骤.
1.编辑Action 属性
选择Action1所在的行,鼠标右键选择"Action Properties",可以在Name中重新输入Action名称, 在"Description"中输入对其描述.
(注意: 这里把"Reusable action"勾上 ,表示该Action为可重用的测试步骤,是可以被其他Action调用的测试步骤 )
2.添加Action的输入参数,
选择Action1所在的行,鼠标右键选择"Action Properties",切换到Parameters选项卡,单击+按钮,添加调用Action需要输入在参数名和类型,添加完成后,在关键字视图中的"Value"列单击"<#>"按钮,对需要进行参数的步骤进行选择.
3.调用Action
Action的输入参数设置完成后,选择菜单"Insert---Call To Eexisting Action"插入现有的Action,对其进行选择.最后还需要选择设置参数的Action选中,鼠标右键,选择菜单"Action Call Properties",为每一个参数设置输入参数值,为输入绑定到Data Table 中的数据,确定即可.
使用环境变量的参数化:
在使用环境变量之前,需要定义好环境变量,其方法如下:
1.选择菜单"File--- Setting", 在出现的页面中切换到"Environment", 在"Variable type"中选择"Uer--defined", 然后,单击旁边的"+"按钮, 定义环境变量名和输入的值.
2.在测试步骤中绑定环境变量的值,切换到关键字视图中,定位到测试步骤的"Value"列,单击旁边"<#>",选择环境变量,确定即可.
导出环境变量到XML文件:
选择菜单"File---Settings",在出现的页面中切换到"Environment",单击"Export"按钮,以把当前定义的环境变量导出到XML文件中.
导入外部环境变量文件:
对于导出的XML文件,可以再导入,也可以在测试脚本中编写代码来加载.
使用数据驱动器来参数化测试脚本:
数据驱动器的使用方法
1.选择菜单"Tool---Data Driver", 界面会出现列出了测试中所有可能需要进行参数化的变量, 单击"Parameterize" 根据数据驱动向导, 一步一步对需要进行参数化的数据实现参数化.