java - Firefox 在驱动程序最后一个窗口关闭时崩溃

标签 java selenium firefox crash geckodriver

我有一个项目,有时使用多个 FF 窗口,有时使用多个 FF 驱动程序。 在初始化过程中,我创建了一个自定义的 FirefoxProfile(或者从 Selenium 加载默认值而不做任何更改),将其添加到 DesiredCapabilities,将功能添加到 FirefoxOptions 并使用 FirefoxOptions 启动 FF。

测试用例执行良好,直到我需要关闭窗口:

driver.getWindowHandles().forEach(name -> driver.switchTo().window(name).close());

driver.quit();

其中任何一个通过后,FF 关闭并出现“Firefox 已崩溃”弹出窗口。日志中没有显示异常。

enter image description here

如果我删除 FirefoxProfile,不会出现崩溃弹出窗口,但需要 FirefoxProfile 才能启用 Flash 支持并执行更多操作。

使用:

  • Selenium 3.4.0
  • Firefox 54(32 位)
  • Geckodriver 0.17(32 位)
  • Windows 10、64 位//Windows 7、64 位

最佳答案

驱动程序无法正确终止由 Firefox 创建的子进程,如 flash。

https://github.com/mozilla/geckodriver/issues/285

要避免出现对话框,您可以将环境变量 XRE_NO_WINDOWS_CRASH_DIALOG 设置为 1。

关于java - Firefox 在驱动程序最后一个窗口关闭时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45027631/

相关文章:

css - 样式溢出 :hidden and SVG Firefox 3. 6

css - 为什么在ie中,绝对定位的标志是在右边?

java - 使用 ARM64 musl-libs 编译 OpenJDK 9 及更高版本

python - sys.exit() 不是终止进程

java - 在 getAudioInputStream() 期间标记/重置异常

java - 如果 20% 或第 20 个测试用例测试方法失败,我如何停止 Selenium 自动化?

java - 如何编写 Selenium 脚本从列表中获取随机字母数字

css - Firefox 未使用位置 :relative with table-cell

java - 如何将当前客户端目录添加到日志文件名中?

java - 将位图加载到 Canvas 中并在其上绘制