在QTP

时间:2015-11-10 10:16:33

标签: qtp

我正在使用基于网络QTP11的{​​{1}}。我的OR中有对象。大多数对象都是框架。 AUT的工作方式是每次呈现页面时,帧的AUT都会发生变化(这是我们可以用来识别帧的唯一属性)。这不是问题,因为每次到达页面时,我都会动态更新帧的HTML ID。对象通常采用以下格式:

HTML ID

我正在获取对象的GrandParent(然后检查它是否为Frame类)以识别帧的位置。这并不总是有效,因为有对象具有不同的结构。有没有一种更有效的方法来识别框架对象在结构中的位置而不仅仅是在树上?

1 个答案:

答案 0 :(得分:1)

您可以继续攀爬,直到您到达Frame类型的对象,而不是将层次结构中的级别数量硬编码为2(祖父项)。

类似的东西:

Public Function GetAncestorOfType(ByRef testObj, ByRef name)
       While testObj.GetTOPRoperty("micclass") <> name
          Set testObj = testObj.GetTOProperty("parent")
       Wend
       Set GetAncestorOfType = testObj
End Function

' Usage:
Set frameObj = GetAncestorOfType(obj, "Frame")