无法在QTP中识别对象

问题描述 投票:2回答:3

我正在使用QTP 9.2。运行脚本时,我反复收到此错误

无法识别对象“Login1 $ Password”(类WebEdit)。验证此对象的属性是否与应用程序中当前显示的对象匹配。

当我第一次运行脚本时它运行完美,但现在发生了这个错误。我已经通过对象存储库和对象间谍尝试了所有可能的解决方案检查对象属性,并启用了智能识别结果显示:

对象不唯一(找到3个对象)或找不到对象..

qtp
3个回答
0
投票

打开对象存储库并查看描述测试对象的属性。现在使用对象spy来查看应用程序中显示的WebEdit上相同属性的值。您应该发现不匹配,现在您必须确定新值是否符合您的预期(在这种情况下您可以使用应用程序按钮中的更新)或两个值是否可接受(在这种情况下您应该更改值)正则表达式的属性,以涵盖所有可接受的情况)。


0
投票

似乎在Application或Object存储库中对该对象进行了一些更改。因此,您最好使用“从应用程序更新”选项更新对象存储库中该对象的对象描述。

谢谢,GD


0
投票

我没有QTP 9.2,所以我不太确定这是否有效,但是你不能为对象添加可视标识符吗?

如果对象位置永远不会改变并且另一个映射对象靠近它也永远不会改变位置,那么您可以使用第二个对象作为您想要映射的对象的关系。

在UFT 12中,此选项称为可视关系标识符设置,位于“描述属性”列表下的“对象属性”中。从中,您可以从存储库中选择映射对象,也可以从屏幕添加新对象。之后,您可以确定对象之间的关系(上/下,左/右,内联或不内联)。

如果我和其他人提供的选项都不起作用,并且您有权访问开发团队,我建议请求他们为该对象提供ID。

此外,作为一个好习惯,我会禁用智能识别功能,因为它有时会弄乱对象识别

© www.soinside.com 2019 - 2024. All rights reserved.