无法在QTP中识别对象

时间:2012-02-07 07:57:14

标签: qtp

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

  

无法识别对象“Login1 $ Password”(类WebEdit)。   验证此对象的属性当前是否与对象匹配   显示在您的申请表中。

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

  

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

谢谢, GD

答案 2 :(得分:0)

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

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

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

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

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