是否可以在运行时从 GUI Test 加载 API 测试。
就像我们可以选择使用“LoadAndRunAction”函数加载测试。
对于 API 测试,我们有“RunAPITest”,但我们必须在执行套件之前加载文件。
那么是否可以在运行时加载 API 测试。
没有记录的方法可以做到这一点。
这并不意味着这是不可能的,只是没有人知道怎么做,至少:还没有。
这与我们LoadAndRunAction
不存在时的情况相当。可以采用此函数的静态版本RunAction
,它要求目标操作在设计时存在,并将其目标操作(在运行时)替换为您真正想要调用的操作。
这当然涉及RunAction
使用您真正想要调用的操作的文件修补目标操作的文件,因此是一种 hack,每当有关内部数据格式和位置的技术细节从 UFT 版本更改为 UFT 时,都会让您哭泣释放(虽然这不太可能发生)。
由于没有“ LoadAndRun
-style”动态RunAPITest
例程,您可以应用相同的技术:
在设计时:
RunAPITest
对某些 API 测试的调用在运行时(当然以编程方式):
RunAPITest
调用。如果您的工件存储在 QC/ALM 中,而不是文件系统中,那么整个事情就会变得更加复杂。您需要修改正确的数据库内容以替换 API 测试的内容,这可能不是一项简单的任务。
但是,您的问题是:“是否可能”,并且 -是的,有可能,例如,如果您应用用于创建动态 RunAction 例程的收据。不过,目前还没有记录在案或现成的解决方案。
** 附录——顺便说一句,对于 BPT 组件,存在同样的困境。在运行时,不可能指定要执行的组件,也不可能从组件调用组件,既不绑定“静态”也不绑定“动态”。由于无法将组件存储在文件系统中,因此真的必须对数据库进行“JIT-patch”以模拟动态组件调用。
公共函数 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
结束功能