因此,在测试开始时我使用UFT打开浏览器:
'strWebString = "iexplore.exe"
SystemUtil.Run strWebString, strWebUrl
之后我尝试登录我的网站,这是出现奇怪的情况时的情况:
1.当只有IE运行时,一切正常
2.当IE运行时,并且在后台有打开的Chrome浏览器,UFT无法识别对象。当我尝试从存储库窗口在站点上找到它时,会出现消息:
在应用程序中找不到所选对象。检查应用程序是否对正确的页面或窗口打开,并且对象及其父项没有参数化值。
仅打开Chrome时会显示相同的信息。 但是当我关闭chrome并且此时IE正在运行时,对象被正确识别 我尝试打开和关闭智能识别,更改插件等。在旧版本(QTP)中,这个问题并不存在。
IE版本:10.0.9200.17116
更新版本:10.0.21UFT 12.01 Build 1112
答案 0 :(得分:2)
如果您只想在特定浏览器系列上运行,则可以在对象存储库中向浏览器对象添加一些特定于浏览器系列的标识符,例如application version:=internet explorer.*
。
答案 1 :(得分:1)
好的,这都是关于chrome扩展的。在Chrome中转到扩展菜单并禁用 HP Unified Functional Testing
答案 2 :(得分:0)
大多数时候我发现如果你进入Record> Record and Run Settings菜单,然后在Web选项卡上选择顶部单选按钮,上面写着“在任何打开的浏览器上记录和运行测试”,然后在Web选项卡,“在任何基于Windows的打开的应用程序上记录并运行测试”,它应该为您解决问题。我建议为这些设置中的任何选项卡选择顶部单选按钮。
另外,如果您要使用SystemUtil.Run启动IE,我建议使用32位版本IE的完整路径,通常是64位计算机上的C:\ Program Files(x86)\ Internet Explorer和C :\ Program Files \ Internet Explorer在32位计算机上。你不必在32位机器上担心它,但64位机器应该有完整的路径。
答案 3 :(得分:0)
我最近与一位惠普预售员工谈过将UFT带入我工作的公司,并用同样的问题向她致辞。
她说UFT无法处理不属于测试/操作的打开浏览器(除非你配置它)。
答案 4 :(得分:0)
请检查您的浏览器对象是否将creationTime作为属性。
如果您的QTP将Chrome识别为其中一个浏览器,那么它可能会在Chrome中搜索对象。
通常,当我们记录浏览器对象时,其创建时间设置为0,因此首先打开任何浏览器对象(IE或Chrome)是QTP搜索对象的地方,因此如果IE首先打开,则其创建时间为0并且对象识别没有问题,但如果首先打开chrome,则其创建时间为0,而QTP无法在Chrome中找到对象。
要了解有关creationTime属性的更多信息: http://relevantcodes.com/creationtime/
您可能在较新版本中遇到此问题,因为旧版本不支持chrome,因此它未被识别为浏览器之一,但较新版本支持chrome,因此根据QTP,如果两者都打开了多个浏览器chrome和IE一起打开。
如果这不能解决您的问题,请告诉我们。
答案 5 :(得分:0)
对于QTP / UFT,默认浏览器是IE。这就是为什么属性是在IE中收集而不是在Chrome中收集的。如果您想在Chrome上工作,请使用此代码App.Test.Settings.Launchers(“Web”)。Browser =“CHRO”