2

我在测试脚本选项卡中有我的 QTP 脚本,在 QC 的测试计划的附件选项卡中有数据表。我将这些数据表导入 QTP 的数据表(全局),并使用 QTP 脚本参数化在我的应用程序中使用数据,然后脚本使用从应用程序自动生成的值更新此全局数据表。

现在,问题是当我使用 Export / ExportSheet 函数将全局数据表导出回 QC 附件选项卡中的测试数据表时,我没有发现它们正在更新。

如何实现将全局数据表从 QTP 导出到 Quality Center?

我想将整个 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

现在我想保存这个数据表,但是当测试结束时,数据丢失了。所以我想保存它。我知道我可以将它本地保存在我的机器上。但我想把它保存在 QC 中,以便我们以后可以检索它。

更新

事实证明,数据表实际上已保存,如果您打开测试实验室并查看测试运行,您可以找到它。但我仍然想知道如何将数据表保存为测试资源或附件

4

2 回答 2

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
于 2010-08-11T08:38:12.843 回答
-2

它是 QC 中 testresources 中资源的名称。因此,如果QC中的资源位于root\Test Automation\Datatable,其中上传了Datatable.xls,则需要将“Datatable”作为ResourceName传递。我在测试中使用过它,效果很好。谢谢!

于 2010-11-25T12:46:16.147 回答