为什么 Page.GetTOProperty ("index") return 荒谬的高值而空将是正确的值?
Why does Page.GetTOProperty ("index") return absurdely high values while empty would be the correct value?
我用 Page.GetTOProperty 方法观察到一件奇怪的事情。重现步骤:
- 创建一个新的脚本化业务流程测试 (BPT) 组件(使用没有任何库或共享对象存储库的“空”应用程序区域)
- 打开一个 IE 浏览器实例并导航到 google.com(或任何其他网站,无所谓)
- 使用对象间谍将页面测试对象添加到基于操作的对象存储库 ("OR")。提供时,不要添加任何 "descendant"(应该是 "child")对象(添加页面时自动添加的浏览器除外)
- 关闭浏览器实例(或者不关闭,这似乎无关紧要)
粘贴此脚本代码:
Dim IndexPropVal
IndexPropVal=浏览器("Google").Page("Google").GetTOProperty ("index")
打印 "IndexPropVal=" & CSTr (IndexPropVal) & " IsEmpty=" & CStr (IsEmpty (IndexPropVal))
运行脚本
问题:
为什么输出如下?
IndexPropVal=20002 IsEmpty=False
在某些情况下是10002,在其他情况下是20002或30002,原因不明。
为什么不打印这个:
IndexPropVal= IsEmpty=true
这是我所期望的,对于 OR 中未定义的所有 TO 属性,GetTOProperty 应该 return 为空?
变化(10002 对 20002 对 30002)可能取决于测试对象是否在基于对象的 OR 中,and/or脚本在某种程度上是组件还是 GUI 动作脚本,但情况似乎并非总是如此。
它肯定与您 运行 脚本的频率无关,或者您是否在 运行 之间关闭 UFT。
无论您是全局开启还是关闭智能识别,或者针对每个单独的 OR 入口(即浏览器 OR 入口,页面 OR 入口),也没有关系。
我找不到任何可重现的依赖项!
我首先在 UFT 14.50 中观察到这一点。
如果对象存储库中未定义索引 属性,我确信 UFT 12.03 已正确用于报告空值。
这是怎么回事?
因为每个 Browser
对象总是只有一个 Page
对象,索引没有意义,如果描述为空或适合,则有一个匹配项,如果描述不匹配,则有无匹配。由于 index
是一个序数选择器,仅在多个对象匹配描述时使用,它对 Page
个测试对象没有用。
UFT 似乎正在使用 index
属性 进行内部管理,您不应该使用它并且它不应该影响您的测试。
我用 Page.GetTOProperty 方法观察到一件奇怪的事情。重现步骤:
- 创建一个新的脚本化业务流程测试 (BPT) 组件(使用没有任何库或共享对象存储库的“空”应用程序区域)
- 打开一个 IE 浏览器实例并导航到 google.com(或任何其他网站,无所谓)
- 使用对象间谍将页面测试对象添加到基于操作的对象存储库 ("OR")。提供时,不要添加任何 "descendant"(应该是 "child")对象(添加页面时自动添加的浏览器除外)
- 关闭浏览器实例(或者不关闭,这似乎无关紧要)
粘贴此脚本代码:
Dim IndexPropVal IndexPropVal=浏览器("Google").Page("Google").GetTOProperty ("index") 打印 "IndexPropVal=" & CSTr (IndexPropVal) & " IsEmpty=" & CStr (IsEmpty (IndexPropVal))
运行脚本
问题:
为什么输出如下?
IndexPropVal=20002 IsEmpty=False
在某些情况下是10002,在其他情况下是20002或30002,原因不明。
为什么不打印这个:
IndexPropVal= IsEmpty=true
这是我所期望的,对于 OR 中未定义的所有 TO 属性,GetTOProperty 应该 return 为空?
变化(10002 对 20002 对 30002)可能取决于测试对象是否在基于对象的 OR 中,and/or脚本在某种程度上是组件还是 GUI 动作脚本,但情况似乎并非总是如此。
它肯定与您 运行 脚本的频率无关,或者您是否在 运行 之间关闭 UFT。
无论您是全局开启还是关闭智能识别,或者针对每个单独的 OR 入口(即浏览器 OR 入口,页面 OR 入口),也没有关系。
我找不到任何可重现的依赖项!
我首先在 UFT 14.50 中观察到这一点。
如果对象存储库中未定义索引 属性,我确信 UFT 12.03 已正确用于报告空值。
这是怎么回事?
因为每个 Browser
对象总是只有一个 Page
对象,索引没有意义,如果描述为空或适合,则有一个匹配项,如果描述不匹配,则有无匹配。由于 index
是一个序数选择器,仅在多个对象匹配描述时使用,它对 Page
个测试对象没有用。
UFT 似乎正在使用 index
属性 进行内部管理,您不应该使用它并且它不应该影响您的测试。