为什么 Page.GetTOProperty ("index") return 荒谬的高值而空将是正确的值?

Why does Page.GetTOProperty ("index") return absurdely high values while empty would be the correct value?

我用 Page.GetTOProperty 方法观察到一件奇怪的事情。重现步骤:

问题:

在某些情况下是10002,在其他情况下是20002或30002,原因不明。

这是我所期望的,对于 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 属性 进行内部管理,您不应该使用它并且它不应该影响您的测试。