1

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

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

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

那么是否可以在运行时加载 API 测试。

4

2 回答 2

0

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

这并不意味着这是不可能的,只是没有人知道怎么做,至少:还没有。

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

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

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

在设计时:

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

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

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

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

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

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

于 2016-05-04T12:11:02.850 回答
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

结束功能

于 2016-06-21T22:13:20.590 回答