代码之家  ›  专栏  ›  技术社区  ›  Jonas Söderström

qtp,将数据表导出到质量中心

  •  2
  • Jonas Söderström  · 技术社区  · 15 年前

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

    现在,问题是,当我使用export/exportsheet函数将全局数据表导出回qc的attachments选项卡中的测试数据表时,我没有发现它们正在被更新。

    如何实现从qtp到质量中心的全局数据表导出?

    我想将整个数据表保存为新文件,或者更新附件中的数据表。

    将其保存在“测试资源”选项卡中也可以。

    事实上,任何能进入质量中心的方法都能让我快乐。

    使用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
    

    现在我想保存这个数据表,但是当测试结束时,数据会丢失。所以我想保存它。我知道我可以把它保存在本地的机器上。但我想把它保存在质量控制部,这样我们可以稍后再检查。

    更新

    结果发现数据表实际上是保存的,如果打开测试实验室并查看测试运行,就可以找到它。但我还是想知道 如何将数据表保存为测试资源或附件

    2 回复  |  直到 14 年前
        1
  •  3
  •   Jonas Söderström    15 年前

    终于找到了这个问题的答案。 可以使用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
    
        2
  •  -2
  •   Vincent Wijnen    14 年前

    它是qc中testresources中资源的名称。因此,如果qc中的资源位于根目录\test automation\datatable,其中上载了datatable.xls,则需要将“datatable”作为resourcename传递。我在考试中用过,这个效果很好。谢谢!