我通过IEWebDriver遇到了一系列间歇性故障:
首先,测试失败,并且无法使用.quit()方法关闭驱动程序。我认为这第一次失败是因为IEDriver炸弹。
我看到一个对话框:
Command line server for IE Driver has stopped working
第一次失败后,IEDriver会打开IE,但是当您尝试对页面中的对象执行操作时,会收到SocketTimeoutException。有趣的是,此错误失败需要3个小时:
java.net.SocketTimeoutException: Read timed out Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T15:15:08.936Z' System info: host: 'WORKSTATION-3', ip: '172.26.50.248', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_92' Driver info: driver.version: RemoteWebDriver
如何停止IEDriver的轰炸?如果不能,如何防止它停止运行下一个测试?
答案 0 :(得分:0)
此错误消息...
Command line server for IE Driver has stopped working
.
java.net.SocketTimeoutException: Read timed out Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T15:15:08.936Z' System info: host: 'WORKSTATION-3', ip: '172.26.50.248', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_92'
...表示 IEDriverServer 无法启动/产生新的 WebBrowsing会话,即 InternetExplorer Browser 会话。
您的主要问题是所使用的二进制版本之间的不兼容性:
因此 Selenium Client v3.12.0 与 JDK v8u92 之间显然不匹配。
注意:根据最佳做法,因为 Selenium Client 和 InternetExplorerDriver 是同步发布的,因此您必须同时使用同一发行版中的二进制文件。
@Test
。driver.quit()
方法内调用tearDown(){}
,以优雅地关闭和销毁 WebDriver 和 Web Client 实例。