QTP恢复方案触发的功能必须位于自己的库中?

时间:2010-11-10 16:32:45

标签: automated-tests qtp gui-testing

我在我的一个函数库中插入了一个函数(在测试的资源设置中引用了它)。它看起来像这样:

Public Function NWRecoverOnRunStep (AObject,AMethodName,AArguments,AResult)
  Print "NWRecoverOnStep MethodName='" & AMethodName & "' Result=" & AResult
End Function

(显然,我正处于探索阶段;)

我还创建了一个恢复方案,其中显示“未找到错误时调用NWRecoverOnRunStep'对象'”,将其保存为恢复方案文件,并将该文件与我的测试相关联。

当我现在运行测试时,QTP说“库文件中的错误。”,blabla,加上细节:

File: [QualityCenter\Resources] mylib.qfl

line (1): 'Dim CaptchaCheckActive '.

Description: Name redefined

(我在所有库中使用选项显式。)(并且:当然,“Dim CaptchaCheckActive”是库中定义的第一个全局变量,而库mylib.qfl包含此声明和恢复处理程序。)

问: 这是因为图书馆链接到我的测试两次,一次是我的“传统”函数库,还是再次包含我的恢复场景功能?

替代问题: 恢复场景处理函数是否必须驻留在它们自己的函数库中,即与我的其他用户定义的函数分开?

我没有在dox中看到这一点。

1 个答案:

答案 0 :(得分:1)

虽然我找不到关于此的文档,但从经验上看,好像答案是肯定的。包含处理程序的库不得包含在Resources,Libraries列表下。否则,库将被解析两次到同一个“命名空间”或范围,第一个声明/定义将产生重新定义错误。