Webdriver:IE11:处理请求时捕获的I/O异常(java.net.SocketException):软件导致连接中止:recv失败

Sel*_*_QA 6 selenium selenium-webdriver

在使用Selenium WebDriver在win7 IE11中运行我的测试脚本时,我收到以下错误:

Error:
==============================================================================================
Started InternetExplorerDriver server (64-bit)
2.42.0.0

Listening on port 13127

org.apache.http.impl.client.DefaultRequestDirector tryExecute

INFO: I/O exception (java.net.SocketException) caught when processing request: Software 
caused connection abort: recv failed

org.apache.http.impl.client.DefaultRequestDirector tryExecute

INFO: Retrying request

JavaScript error (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 169 milliseconds
Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:17:32'
System info: host: 'blr2261913', ip: '10.177.101.114', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_51'
Session ID: 71972154-3b97-4623-b651-aaa0bb460ffb
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{platform=WINDOWS, javascriptEnabled=true, elementScrollBehavior=0, ignoreZoomSetting=false, enablePersistentHover=true, ie.ensureCleanSession=f
r=dismiss, version=11, ie.usePerProcessProxy=false, cssSelectorsEnabled=true, ignoreProtectedModeSettings=false, requireWindowFocus=false, handlesAlerts=true,
e, browserAttachTimeout=0, ie.browserCommandLineSwitches=, takesScreenshot=true}]
com.thoughtworks.selenium.SeleniumException: JavaScript error (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 169 milliseconds
Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:17:32'
System info: host: 'blr2261913', ip: '10.177.101.114', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_51'
Session ID: 71972154-3b97-4623-b651-aaa0bb460ffb
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{platform=WINDOWS, javascriptEnabled=true, elementScrollBehavior=0, ignoreZoomSetting=false, enablePersistentHover=true, ie.ensureCleanSession=f
r=dismiss, version=11, ie.usePerProcessProxy=false, cssSelectorsEnabled=true, ignoreProtectedModeSettings=false, requireWindowFocus=false, handlesAlerts=true,
e, browserAttachTimeout=0, ie.browserCommandLineSwitches=, takesScreenshot=true}]
    at com.thoughtworks.selenium.webdriven.SeleneseCommand.apply(SeleneseCommand.java:44)
    at com.thoughtworks.selenium.webdriven.Timer.run(Timer.java:40)
    at com.thoughtworks.selenium.webdriven.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:143)
    at com.thoughtworks.selenium.webdriven.WebDriverCommandProcessor.doCommand(WebDriverCommandProcessor.java:73)
    at com.thoughtworks.selenium.DefaultSelenium.type(DefaultSelenium.java:317)
Run Code Online (Sandbox Code Playgroud)

环境:Windows7-64位,IE11 IEDriver版本:最新即2.42.0 Selenium Server:2.41.0

我已经按照https://code.google.com/p/selenium/wiki/InternetExplorerDriver提到的步骤操作了!没运气!

已经在网上搜索了足够但无法找到解决问题的方法.

任何帮助将受到高度赞赏.

提前致谢!

Dan*_*ley 2

我不确定这是否直接适用于您的问题,但当我收到错误时我遇到了类似的情况:

Caused by: java.net.SocketException: Connection reset
Run Code Online (Sandbox Code Playgroud)

这导致我在这里提出一个错误:http://bugs.java.com/bugdatabase/view_bug.do ?bug_id=7077696

您的recv failed错误与此错误类似,但有人指出,更可能是 Windows 防火墙导致错误,而不是错误。一些可能的解决方法(来自网站):

  • 运行与-Djava.net.preferIPv4Stack=true

  • 为 Java 二进制文件添加防火墙例外

  • 或者在防火墙中禁用状态 FTP 检查,我相信这已经完成:netsh advfirewall set global StatefulFTP disable

这里还提出了一个问题:https ://code.google.com/p/selenium/issues/detail?id=6437

哪个适用于我有更多的错误,但它可能适用于你的错误?正如评论 #7(来自项目成员)指出IE11存在一个已知问题。

这可能有帮助,也可能没有帮助,因为我还没有机会测试这些解决方案,而且我自己也不完全确定!