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

时间:2015-09-28 13:35:05

标签: vbscript qtp hp-uft

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

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

它并没有阻止我的工作,但我的好奇心对我更好,我认为可能是所有人都能提供帮助。

1 个答案:

答案 0 :(得分:3)

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

  1. 逐行解析代码,使用同一位置同名的最后一个函数定义。
  2. 如果使用ExecuteFile代码加载的函数库中有匹配函数,则使用它。否则...
  3. 如果在动作代码中有匹配功能,则使用它。否则...
  4. 如果使用LoadFunctionLibrary代码加载的函数库中有匹配函数,则使用它。否则...
  5. 如果匹配函数在静态关联函数库中可用,则使用顶级关联函数库中的定义
  6. 特别是对于我的问题 - 在动作中调用时,将使用最后写入的库文件中的匹配函数。 所以 - ReportEvent(Status,TestStep,ExpectedResult,ActualResult,OptionalLink)在LOC-50和 ReportEvent(TestStep,ExpectedResult,ActualResult)。在LOC -105

    然后使用LOC-105的那个。