我在QC的TestPlan的附件选项卡中的测试脚本选项卡和数据表中有我的QTP脚本。 我将这些数据表导入QTP的数据表(全局)并使用QTP脚本参数化在我的应用程序中使用数据,然后脚本使用应用程序中自动生成的值更新此全局数据表。
现在,问题是当我使用Export / ExportSheet函数将Global Datatable导出回QC的附件选项卡中的Test Data表时,我发现它们没有被更新。
如何实现从QTP到Quality Center的Global Datatable输出?
我想将整个DataTable保存为新文件,或者更新我在附件中的DataTable。
将其保存在“测试资源”选项卡中也可以。
实际上,我进入Quality Center的任何方式都让我感到高兴。
使用QTP 10.0和QC 10.0
详细示例:
我有一项测试,会检查在网站上购买东西的客户的计算税。我想保存每行的结果 所以我的数据表看起来像这样
Customer Item Expected_Tax Actual_Tax Pass_Fail
normal apple 25
normal pear 10
manager apple 12
当我运行测试时,QTP填充数据表中的空白
Customer Item Expected_Tax Actual_Tax Pass_Fail
normal apple 25 25 pass
normal pear 10 25 fail
manager apple 12 25 fail
现在我想保存这个数据表,但是当测试结束时,数据就会丢失。所以我想保存它。我知道我可以在我的机器上本地保存它。但我希望将其保存在质量控制中,以便我们以后可以进行检索。
更新
事实证明,数据表实际上已保存,如果您打开测试实验室并查看测试运行,则可以找到它。但我仍然想知道如何将数据表保存为测试资源或附件
答案 0 :(得分:3)
终于找到了答案。 可以使用QC OTA API将其导出到QC。
我为此做了一个函数
Function SaveToQC(ResourceName)
'' Connection To QC
Set qcc = QCUtil.QCConnection
'' Setting Temp Folder
TempFolder = environment("SystemTempDir")
Set ResourceFactory = qcc.QCResourceFactory
Set ResourceList = ResourceFactory.NewList("")
Set Resource = Nothing
iTotalItems = ResourceList.Count
For ItemCtr = 1 To iTotalItems
CurItem = ResourceList.Item(ItemCtr).Name
If UCase(CurItem) = UCase(ResourceName) Then
Set Resource = ResourceList.Item(ItemCtr)
End If
Next
Set ResourceFactory = Nothing
Set ResourceList = Nothing
'' Export Datatable to Temp Directory
Datatable.Export TempFolder & "\" & Resource.Filename
Resource.Post
Resource.UploadResource TempFolder, True
End Function
答案 1 :(得分:-2)
它是QC中testresources中Resource的名称。因此,如果QC中的资源位于root \ Test Automation \ Datatable中,其中上传了Datatable.xls,则需要传递" Datatable"作为ResourceName。我在测试中使用过它,效果很好。谢谢!