0

当我禁用某些加载项时,QTP 无法识别项目,这些加载项在我将它们添加到存储库时已检查

注意:当我将对象添加到存储库中时,我实际上选择了所有插件 - .Net、JAVA、Oracle、Siebel、SAP、Web 服务、Silverlight、ActiveX(我知道我是一个菜鸟)。当我现在只选择 Web 并运行脚本时,它无法识别该对象,当我再次添加该对象(仅选中 Web)时,它被添加为一个新对象,并且在我运行它时被识别。

所以我的问题是对象与添加的关系是什么?它如何继续影响同一对象的属性?

4

1 回答 1

0

加载项是预定义对象类型的集合

加载项包含一组特定的相关 UI 对象的内置属性集。这有助于 QTP 更有效地为特定类型的应用程序识别运行时对象。

例如,可以预见的是,基于浏览器的应用程序将使用标准的 HTML 元素,因此基本的 Web 对象(即 Page、Frame、WebButton、WebList)已经在 Web 插件中预先定义了。

启用所有加载项的弊端

您很可能会遇到此问题,因为在录制期间启用了所有加载项。QTP 可以从所有这些插件中的任何预定义对象中选择它认为合适的选项。您最终可能会得到一个对象存储库,它是在多个加载项中发现的对象类型的混合体。

在将 web 按钮(即 html input type="button")记录为SAPWebButton. 那是因为在录制过程中启用了所有加载项,而没有人注意到。在我们禁用除 Web 加载项之外的所有其他加载项之前,它运行良好。由于 Web 插件只知道 aWebButton 而不是a SAPWebButton,这导致了识别问题。

预防和修复

正确的方法是在录制之前决定哪个插件最适合您的应用程序类型,启用它并禁用其余插件。

您必须通过更新运行模式手动​​更新有问题的对象。如果太多,最好从头开始录制。

于 2014-01-31T11:20:07.830 回答