我有一个项目,有时使用多个 FF 窗口,有时使用多个 FF 驱动程序。 在初始化过程中,我创建了一个自定义的 FirefoxProfile(或者从 Selenium 加载默认值而不做任何更改),将其添加到 DesiredCapabilities,将功能添加到 FirefoxOptions 并使用 FirefoxOptions 启动 FF。
测试用例执行良好,直到我需要关闭窗口:
driver.getWindowHandles().forEach(name -> driver.switchTo().window(name).close());
或
driver.quit();
其中任何一个通过后,FF 关闭并出现“Firefox 已崩溃”弹出窗口。日志中没有显示异常。
如果我删除 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/