我正在使用 UFT 12.02。在函数库中,我有一个名为ReportEvent(Status,TestStep,ExpectedResult,ActualResult,OptionalLink)的函数和另一个与ReportEvent(TestStep,ExpectedResult,ActualResult)同名的函数>。
当我在脚本中调用 ReportEvent 函数时,它会调用两个函数中最高 LOC 提到的函数,即最后一个要写入的函数。
这并没有阻止我的工作,但我的好奇心增强了我,我想也许你们能够提供帮助。
最佳答案
好吧,我很快就找到了答案 - 它基于 vbscript 的检查规则,其层次结构如下:
- 代码逐行解析,使用同一位置的最后一个具有相同名称的函数定义。
- 如果使用 ExecuteFile 代码加载的函数库中存在匹配的函数,则使用它。否则……
- 如果操作代码中存在匹配函数,则使用它。否则……
- 如果使用 LoadFunctionLibrary 代码加载的函数库中存在匹配的函数,则使用它。否则……
- 如果静态关联函数库中有匹配的函数,则使用顶级关联函数库中的定义
特别是对于我的问题 - 在操作中调用时将使用最后编写的库文件中的匹配函数。 因此 - LOC-50 处的 ReportEvent(Status、TestStep、ExpectedResult、ActualResult、OptionalLink) 和 LOC -105 处的 ReportEvent(TestStep、ExpectedResult、ActualResult)。
然后使用 LOC - 105 处的那个。
关于vbscript - 如果 UFT 12.02 中的函数名称相同,为什么只调用最新的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32824427/