我在我的一个函数库中插入了一个函数(在测试的资源设置中引用了它)。它看起来像这样:
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中看到这一点。
答案 0 :(得分:1)
虽然我找不到关于此的文档,但从经验上看,好像答案是肯定的。包含处理程序的库不得包含在Resources,Libraries列表下。否则,库将被解析两次到同一个“命名空间”或范围,第一个声明/定义将产生重新定义错误。