如何将桌面上存在的QTP脚本的结果保存到QC中的某个测试集路径?

时间:2014-09-24 11:17:42

标签: automation qtp qc hp-uft

有什么方法可以从桌面上传QC中的测试结果吗?

我正在使用以下代码:

Set qtApp= CreateObject("Quicktest.Application")
qtApp.Open "C:\Test"

Set rep= CreateObject("QuickTest.RunResultsOptions")
rep.ResultsLocation = "Root\TestFolder\TestSet\Test"
rep.TDTestSet= "Root\TestFolder\TestSet"

qtApp.Run rep, True

上面的代码成功运行测试,但没有将结果上传到qc。

但是,如果启动qc的脚本,它会将结果存储在QC中:

qtApp.Open "QC Path"

我们是否有可能从桌面运行脚本并将结果存储在Qc中?

1 个答案:

答案 0 :(得分:1)

如果指定本地路径,则会使用它。如果你指定一个QC路径,那就是结果出现的地方。到目前为止,所以(un)清楚。

如果您想将上一次运行中本地生成的运行结果上传到QC,那么就没有标准功能。如果您浏览API,可能会很幸运,找到一种方法来重新定位本地运行结果,但据我记得,据我所知,API并没有涵盖足够的功能。

如果您希望在测试运行期间在本地生成结果,然后将其上传到QC - 那么只需指定QC路径,然后执行测试。运行结果将在本地创建,并且在测试运行结束时的一个巨大上载阶段中,将上载结果。

因此标准完全符合您的要求。正如人们可能认为的那样,在测试运行期间逐步在QC中创建运行结果。在测试运行完成之前它是空的。 (这在旧的QC / TD版本中有所不同。到目前为止,您可以通过查看当前正在运行的测试的运行结果来查看进度。不再适用于QC10 imho。)

通常,对于将其运行结果存储在QC中的测试,(最外层)测试必须是QC测试集的一部分,因为运行结果始终与测试集相关联(无论是默认测试集,还是明确的测试集)指定一个)。要使测试成为测试集的一部分,必须将其存储在QC中(即在测试计划中或资源树中)。 因此,无法在本地存储测试(例如,在桌面上),并将运行结果发送到QC。运行结果将是QC数据模型透视图中的孤儿,因此会违反数据库中的引用完整性,因而无法创建。

但是,您可以创建一个QC测试来调用本地存储的测试,该测试会生成结果步骤。由于“最外层”测试确定了运行结果位置,因此即使主处理(和结果生成)发生在本地存储的测试脚本代码中,运行QC测试也会在QC中创建结果。