vbscript - 如果 UFT 12.02 中的函数名称相同,为什么只调用最新的函数?

标签 vbscript qtp hp-uft

我正在使用 UFT 12.02。在函数库中,我有一个名为ReportEvent(Status,TestStep,ExpectedResult,ActualResult,OptionalLink)的函数和另一个与ReportEvent(TestStep,ExpectedResult,ActualResult)同名的函数>。

当我在脚本中调用 ReportEvent 函数时,它会调用两个函数中最高 LOC 提到的函数,即最后一个要写入的函数。

这并没有阻止我的工作,但我的好奇心增强了我,我想也许你们能够提供帮助。

最佳答案

好吧,我很快就找到了答案 - 它基于 vbscript 的检查规则,其层次结构如下:

  1. 代码逐行解析,使用同一位置的最后一个具有相同名称的函数定义。
  2. 如果使用 ExecuteFile 代码加载的函数库中存在匹配的函数,则使用它。否则……
  3. 如果操作代码中存在匹配函数,则使用它。否则……
  4. 如果使用 LoadFunctionLibrary 代码加载的函数库中存在匹配的函数,则使用它。否则……
  5. 如果静态关联函数库中有匹配的函数,则使用顶级关联函数库中的定义

特别是对于我的问题 - 在操作中调用时将使用最后编写的库文件中的匹配函数。 因此 - 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/

相关文章:

macros - QTP 宏/键盘快捷键

qtp - 如何在 UFT 中将变量从一个 Action 传递到另一个 Action

.net - 从 .NET 类执行 QTP 自动化,而不启动 QTP 实例

javascript - 使用 Javascript 或 VBscript 将本地 Html 表单数据导出到 CSV

VBScript 无需运行 Outlook 即可发送电子邮件

javascript - 使用jQuery比较服务器时间和当前时间

使用 QTP 进行 WCF Web 服务测试

qtp - 识别 QTP 中显示的内容

c# - 在运行时禁用 HP UFT API 上的检查点

asp-classic - 如何解决 "The requested URL was rejected. Please consult with your administrator."错误?