首页 文章

UFT无法识别打开两个浏览器的对象

提问于
浏览
1

所以,在测试开始时我正在使用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.21 UFT 12.01 Build 1112

6 回答

  • 1

    如果您只想在特定的浏览器系列上运行,那么您可以在对象存储库中向Browser对象添加一些特定于浏览器系列的标识符,例如 application version:=internet explorer.* .

  • 2

    好的,这都是关于chrome扩展的 . 在Chrome中转到扩展菜单并禁用HP Unified Functional Testing Agent

  • 0

    大多数时候我发现如果你进入Record> Record and Run Settings菜单,然后在Web选项卡上选择顶部的单选按钮,上面写着“在任何打开的浏览器上记录和运行测试”,并在web选项卡上, “在任何基于Windows的打开的应用程序上记录并运行测试”,它应该为您解决问题 . 我建议为这些设置中的任何选项卡选择顶部单选按钮 .

    此外,如果您要使用SystemUtil.Run来启动IE,我建议使用32位版本的IE的完整路径,通常是64位计算机上的C:\ Program Files(x86)\ Internet Explorer和C:\ Program 32位计算机上的Files \ Internet Explorer . 您不必在32位计算机上担心它,但64位计算机应该有完整路径 .

  • 0

    我最近与一位惠普预售员工谈过将UFT带入我工作的公司,并用同样的问题向她致辞 .

    她说UFT无法处理不属于测试/操作的开放浏览器(除非你配置它) .

  • 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都打开了多个浏览器一起打开 .

    如果这不能解决您的问题,请告诉我们 .

  • 0

    对于QTP / UFT,默认浏览器是IE . 这就是为什么属性是在IE中收集而不是在Chrome中收集的 . 如果您想在Chrome上工作,请使用此代码App.Test.Settings.Launchers(“Web”) . Browser =“CHRO”

相关问题