Vbscript 内部操作无法识别公共对象
我正在QTP中创建一个脚本,它有一些内部操作(ActionA、ActionB…),并且我有一个关联的函数库commonFunctions.vbs 在我的commonFunctions中,我有以下代码:Vbscript 内部操作无法识别公共对象,vbscript,qtp,Vbscript,Qtp,我正在QTP中创建一个脚本,它有一些内部操作(ActionA、ActionB…),并且我有一个关联的函数库commonFunctions.vbs 在我的commonFunctions中,我有以下代码: Public PageA, PageB Set PageA = Browser("A").Page("A") Set PageB = Browser("A").Page("B") 在ActionB(ActionA称之为ActionB)中,我使用了以下对象变量: If PageB.Link("so
Public PageA, PageB
Set PageA = Browser("A").Page("A")
Set PageB = Browser("A").Page("B")
在ActionB(ActionA称之为ActionB)中,我使用了以下对象变量:
If PageB.Link("someLink").Exist Then
PageB.Link("someLink").Click
End If
ActionA和ActionB都有变量使用的对象存储库
运行测试时,出现以下错误:
Object doesn't support this property or method: 'PageB.Link'
Line (4): "If PageB.Link("someLink").Exist Then".
我错过了什么?为什么ActionB中没有定义变量
我觉得这很简单,但我无法理解。问题似乎不是范围,而是有时QTP无法识别页面对象 尝试明确给出条件,如:
If Browser("A").Page("B").Link.Exists Then
'~~~~~~~code
此外,本文可能会有一些帮助:
要将数据从操作1传递到操作2,需要输入/输出参数。它不取决于变量的类型(Public,…)
这里的“LocalParameter”是QTP的实用对象,可用于将值从一个动作传递到另一个动作。明确地说,它工作得很好,我只是想让它更容易编码,看起来更干净
In Action 1 -
Set PageB = Browser("A").Page("B")
LocalParameter(param) = PageB
In Action 2 -
Set PageB =LocalParameter(param)
PageB.Link("someLink").Click