如果已经手动打开另一个IE浏览器,则在切换窗口时Selenium脚本将失败

问题描述

我正在通过在IE浏览器中打开的ALM执行Selenium WebDriver脚本。通过代码执行切换窗口操作时,Selenium脚本失败。

如果没有切换窗口动作,则脚本运行正常。

如果我们直接从Eclipse执行相同的脚本,那么它可以正常工作。测试了500多个脚本。

在安全域项目上工作时,我无法共享工作代码

执行步骤:

  1. 登录到应用程序
  2. 单击链接会打开另一个窗口
  3. 切换到新打开的窗口

如果没有其他现有的IE浏览器手动打开,上述脚本可以完美运行。但是,如果存在现有的IE浏览器,则手动打开不是通过Selenium Web驱动程序脚本打开的,则由于以下原因,脚本启动失败:

  1. 新打开的窗口未正确加载。它显示空白屏幕,然后出现NoSuchElementException异常。
  2. 如果加载了窗口,则无法在其上找到元素。遇到NoSuchElementException异常。

我已经确保将“安全性”选项卡下的“区域”设置为相同级别。另外,我已经手动测试了相同的脚本,并且脚本可以正常工作,因此不能将其记录为缺陷。

代码限制:

  1. 不能使用其他浏览器,因为应用程序仅支持IE浏览器
  2. 无法更新Selenium版本或IEDriver服务器版本(由客户团队控制)
  3. 由于执行ALM需要手动打开浏览器,因此在执行开始之前也无法通过代码关闭手动打开的IE浏览器。由于ALM版本与ALM工具或任何其他浏览器不兼容,因此仅需要在IE浏览器中打开ALM。

项目详细信息: Selenium WebDriver版本:3.14.0,IEDriverServer:3.14.0,语言绑定:Java

如果有人有任何想法或建议,请告诉我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)