UFT 如何在不同的测试用例中为相同的操作传递不同的数据表

UFT How to pass different datatable for same action in different test cases

如何在不同的测试用例中为相同的操作传递不同的数据table

我有三个动作和两个以不同方式调用这些动作的测试用例。

TC 1 调用操作 1 和操作 2

TC 2 使用不同的数据调用操作 1 和操作 1

我知道我们可以通过动作调用属性传递不同的参数,但是如果我们使用数据 Table,我们如何才能做到这一点?

提前感谢您的任何意见


所有三个动作都保存为单独的脚本。

这就是我们实现应用程序自动化的方法

  1. 我们正在尝试从 ALM 驱动自动化,因此将 ALM 参数映射到 UFT 参数

  2. 我们正在为由功能定义的可重用性创建模块化脚本。如果在多个测试用例中使用相同的功能,我们通过使用变量来区分步骤。 例如:一个测试用例有一个过程是运行。我们可以使用之前创建的模板或创建一个新模板来启动该过程。 创建和使用模板最初遵循不同的步骤,但随后会通过相同的验证。我们也有单独的手动案例。由于只有 2 个步骤不同,我们定义了使用 IF 语句区分这些步骤的变量。因此,如果变量的值为 1,它会创建模板 else 运行 现有模板

测试用例 1 - 创建新模板 - 使用调用期间定义的参数调用模块

RunAction "Action1 [Module_1]"、oneIteration、"Create New Template"、"Parameter_1"、"Parameter_2" RunAction "Action1 [Module_2]", oneIteration,

测试用例 2 - 使用现有模板 - 使用调用期间定义的参数调用模块

RunAction "Action1 [Module_1]"、oneIteration、"Use Existing Template"、"Parameter_3"、"Parameter_4" RunAction "Action1 [Module_3]", oneIteration, "Parameter_5", "Parameter_6", "Parameter_7"

  1. 我们正在尽量减少数据的使用 table。但是也有数据table无法避免的情况。例如:多个表单,用户必须一次又一次地添加具有相同字段的更多表单。这些是使用来自数据 table 的每个表单的数据集处理的。但是,有不同的情况使用此模块,并且每种情况都必须有不同的数据 table。我该如何实施?目前,由于我正在使用模块中的本地数据 table,因此我无法将其用于不同的测试用例。有没有办法使用测试用例的本地数据table,然后将值传递给模块?

即使有办法,也有局限性,因为上面提到的"Add of form"只是一个大功能的一部分。所以如果我们要迭代数据table中的数据集数量的模块,我们只需要包含其中的一部分代码

不确定我是否解释得当,但如果您无法理解请告诉我,我会尽力解释得更好

好的,听起来你正在尝试做与我所做的类似的事情......我应该补充一点,这不是一个理想的解决方案,但对于我发现自己所处的情况,它有效!

所以我假设 Module_1Module_2Module_3 从技术上讲是 QTP 测试,您永远不会 运行。 Test_1Test_2 也是您执行的 QTP 测试 运行(!) - 其中包括您上面提到的 RunAction 调用,以及该测试的任何其他定制代码。没关系。

注意:您不需要在任何 "Modules" 的数据表中的任何位置包含任何数据。

相反,定义每个 "Module" 中的每个可重用操作以获取输入参数。然后将这些参数的数据保存在 Test_1Test_2 等的数据表中 - 每个本地(操作)数据表和每个测试都有对应于在其中调用的可重用操作的参数的列测试动作。

然后调用可重用操作:

RunAction "Action1 [Module1]", oneIteration, 
    dataTable.Value("someParam", dtLocalSheet), 
    dataTable.Value("someOtherParam", dtLocalSheet)

请注意,理解这一点很重要 - 当使用调用现有操作时,数据表(dtGlobalSheet 和 dtLocalSheet)指的是 "parent" 测试的数据表,而不是外部操作的数据表 - 即使对于外部代码 - 实际上,您调用的 "Module" 的数据表不存在)

如果您需要 运行 Test_1Test_2 等不同的数据,可以: 1. 只需在测试中向数据表添加行,或者... 2.创建一份default.xls(测试中的那个,不是"ReusableActions",并在Excel中适当编辑-然后在每个运行之前,复制所需的数据xls在 default.xls 之后,在 运行 测试之前。

更好的是,如果您正在使用 QC/ALM 进行测试管理,请在 "Business Process Testing with QC/ALM" 上进行一些谷歌搜索 - 并在 "Business Component" 上搜索 QC/ALM - 我正在尝试获取我的当前的雇主走那条路。上面描述的是 "hack" 实现使用 BPT 可以更干净地完成的事情....