Vbscript 获取在QTP中调用注册函数的对象的类型

Vbscript 获取在QTP中调用注册函数的对象的类型,vbscript,qtp,Vbscript,Qtp,我试图开发一个通用的注册函数来验证给定对象的存在性,然后在报告中添加一行来说明是否找到了它 下面是函数: '@Description Reports in the test results whether the given object exists. Public Function verifyExistence(ByRef test_object) If test_object.Exist(1) Then Reporter.ReportEvent micPass,

我试图开发一个通用的注册函数来验证给定对象的存在性,然后在报告中添加一行来说明是否找到了它

下面是函数:

'@Description Reports in the test results whether the given object exists.
Public Function verifyExistence(ByRef test_object)
    If test_object.Exist(1) Then
        Reporter.ReportEvent micPass, "Verify that the page exists.", "Page exists."
    Else
        Reporter.ReportEvent micFail, "Verify that the page exists.", "Page does not exist."
    End If
End Function
RegisterUserFunc "Page", "verifyExistence", "verifyExistence"
这适用于页面对象,但如何将其“泛化”以便可用于任何对象类型?我意识到我需要为每个对象类型添加RegisterUserFunc行

理想情况下,我会有这样一行:

typename = getType(test_object)
if typeName = "Page" Then
    objName = test_object.GetROProperty("title")
    ... 'and so on.
end if

TypeName()函数应该返回(几乎)对象的类型名,例如RegExp的“IRegExp2”。

尝试使用
test\u object.GetTOProperty(“micclass”)
作为测试对象的名称。 某些动态对象(例如从
ChildObjects
返回的对象)可能没有在QTP一侧设置此属性,在这种情况下,您应该执行
test\u object.getroperty(“micclass”)

RO方法应该总是有效的,但是它比几乎总是有效的TO方法慢一点