如何在UFT中运行时加载API测试

时间:2014-06-03 08:10:15

标签: qtp hp-uft

是否可以在运行时从GUI测试加载API测试。

就像我们可以选择使用函数加载测试" LoadAndRunAction"。

对于API测试,我们有" RunAPITest"但是我们必须在执行套件之前加载文件。

也可以在运行时加载API测试。

2 个答案:

答案 0 :(得分:0)

没有记录的方法可以做到这一点。

这并不意味着它是不可能的,只是没有人知道如何,至少:但是。

它与LoadAndRunAction不存在时的情况相当。可以采用此函数的静态版本RunAction,它需要在设计时出现目标操作,并用您真正想要调用的操作替换(在运行时)其目标操作。

这当然涉及使用您真正想要调用的操作的文件修补RunAction目标操作的文件,因此当有关内部数据格式的技术细节时,这种黑客会让您大哭和位置从UFT版本变为UFT版本(不太可能发生)。

由于没有“LoadAndRun - 样式”动态RunAPITest例程,您可以应用相同的技术:

在设计时:

  • 在设计时创建RunAPITest对某个API测试的调用

在运行时(当然是以编程方式):

  • 将API测试文件替换为您真正想要调用的API测试文件(可能通过复制它们)
  • 执行RunAPITest来电。

如果您的工件存储在QC / ALM中,而不是存储在文件系统中,则整个过程会变得更复杂。您需要修改正确的数据库内容以替换API测试的内容,这可能不是一项简单的任务。

但是,您的问题是:“是否可能”,并且 - 是的,例如,如果您应用用于创建动态RunAction例程的收据,则可能。但是,目前还没有记录或现成的解决方案。

**附录 - 顺便说一句,对于BPT组件,存在同样的困境。在运行时,不可能指定要执行的组件,也不可能从组件中调用组件,既不能绑定“静态”也不能“动态”。由于无法在文件系统中存储组件,因此必须对数据库进行“JIT-patch”以模拟动态组件调用。

答案 1 :(得分:0)

公共函数ExcelWorkSheetExists(oWorkBook,sSheet)

    Dim iCount

    If Not oWorkBook Is Nothing Then
            For  iCount = 1 To oWorkBook.WorkSheets.Count
                   If Trim(UCase(sSheet)) = Trim(UCase(oWorkBook.Worksheets(iCount).Name)) Then
                             ExcelWorkSheetExists = Cint(iCount)
                             Exit Function
                    End If
            Next
            ExcelWorkSheetExists = False
    Else
            ReportEvent "warning", "ExcelWorkSheetExists:oWorkBook Object is not current set", "ExcelWorkSheetExists:oWorkBook Object is not current set", False
            ExcelWorkSheetExists = False    
    End If

结束功能