参数化 什么是参数化:在自动化测试当中,有时为了模拟真实效果,或者为了达到某种操作效果,那么势必要把脚本参数化。参数化是指使用 QuickTest 将固定值替换为参数,扩展基本测试或组件的范围。该过程 (称为参数化)大大提高了测试或组件的功能和灵活性。 四种类型的参数:
- 测试、操作或组件参数,通过它可以使用从测试或组件中传递的值,或者来自测试中的其他操作的值。
例如,假设您要使用从运行(调用)测试的外部应用程序传递到测试中的某个值来参数化 Action3 中的一个步骤。可将该值从测试级别传递到 Action1(顶层操作)至 Action3(Action1 的子操作),然后使用该 “操作”输入参数值(从外部应用程序传递的值)来参数化所需的步骤。
简单的理解就是函数调用中的传入参数。
- 数据表参数,通过它可以创建使用您所提供的数据多次运行的数据驱动的测试(或操作)。在每次重复(或循环)中, QuickTest 均使用数据表中不同的值。
例如,假设您的应用程序或网站包含一项功能,用户可以通过该功能从成员数据库中搜索联系信息。当用户输入某个成员的姓名时,将显示该成员的联系信息,以及一个标记为“查看 <MemName> 的照片”的按钮,其中"<MemName>"是该成员的姓名。可以参数化按钮的名称属性,以便在运行会话的每次循环期间,QuickTest 可标识不同的照片按钮。
可以简单的理解为预设定的参数,测试时直接取数据表中的参数进行测试,每次重复测试的时候都是不同的值。
- 环境变量参数,通过它可以在运行会话期间使用来自其他来源的变量值。这些变量值可能是您所提供的值,或者是 QuickTest 基于您选择的条件和选项而生成的值。
例如,可以让 QuickTest 从某个外部文件读取用于填写 Web 表单的所有值,或者可以使用 QuickTest 的内置环境变量之一来插入有关运行测试或组件的计算机的当前信息。
这个稍微复杂点了,可以参考我编写的例子:http://download.csdn.net/source/504482。里面读取文件内容作为参数控制测试的运行。
随机数字参数,通过它可以插入随机数字作为测试或组件的值。
例如,要检查应用程序处理大小机票订单的方式,可以让 QuickTest 生成一个随机数字,然后将其插入到“票数”编辑字段中。
实例: 我们这里选取数据表参数进行示范,其余的有时间我会补充,下面正式进入实践:
- 打开脚本Checkpoint并另存为Parameter。
- 确认Data Table是开启的,如果你没看见可以选择菜单View->Data Table。
- 选取要参数化的文字:Keyword View中展开Action1->"Welcome: Mercury Tour"->"Find a Flight: Mecurry",在Keyword View中选择"fromPort"右边的Vlue字段,并且点击右边的参数化图标,打开Value Configuration Options对话框。
- 点击Parameter单选按钮,这样我们可以用参数值来代替New York这个常量。选择Data Table选项表示脚本将从数据表中取得参数。我们修改Name字段为departure,点击OK按钮关闭对话框。这时数据表中将新增 departure参数字段。同时注意到Keyword View中Value字段已经变化。
- 我们在Data Table中departure字段的第二行和第三行分别输入Portland和Seattle并确认,保存脚本。
- 修改文字检查点:在Keyword View中展开Welcome:Mercury Tours->Flight Confirmation:Mercury。右键选择Checkpoint Properties打开Text Checkpoint Properties对话框。选择Parameter单选按钮并点击Parameter Options按钮打开Parameter Options对话框,在Name下拉列表中选择departure,关闭对话框,保存脚本。
- 注意此时执行的话表格检查点报告错误,修改表格检查点的参数值为实际执行值,保存,执行脚本,观察结果。