当我禁用某些加载项时,QTP无法识别项目,当我将它们添加到存储库时检查了这些加载项
注意:当我将对象添加到存储库中时,我实际上选择了所有的添加内容 - .Net,JAVA,Oracle,Siebel,SAP,Web服务,Silverlight,ActiveX(我知道我是Noob)。当我刚刚选择Web并运行脚本时,它无法识别对象,当我再次添加对象时(仅选中Web),它将被添加为新对象,并在运行时被识别。
所以我的问题是对象与添加的关系是什么?它如何影响同一对象的属性?
答案 0 :(得分:0)
加载项包含特定一组相关UI对象的内置属性集。这有助于QTP更有效地为特定类型的应用程序识别运行时对象。
例如,可以预见基于浏览器的应用程序将使用标准HTML元素,因此基本Web对象(即Page,Frame,WebButton,WebList)已经预先在Web加载项中定义。
最有可能的是,您遇到了这个问题,因为所有加载项都是在录制过程中启用的。 QTP可以选择从所有这些加载项中选择任何预定义的对象。您可能最终得到的对象存储库是多个加载项中的对象类型的混合。
在将网页按钮(即html输入类型=“按钮”)记录为SAPWebButton
之前,我们遇到了类似的问题。那是因为所有加载项都在录制期间启用,没有人注意到。它工作正常,直到我们禁用所有其他加载项,Web加载项除外。由于Web加载项只知道WebButton
不 a SAPWebButton
,因此会导致识别问题。
正确的方法是在录制之前确定哪种加载项最适合您的应用程序类型,启用它并禁用其余加载项。
您必须通过更新运行模式手动更新有问题的对象。如果有太多,你最好从头开始录音。