运行Selenium测试时出现随机UnreachableBrowserException

时间:2014-12-18 15:00:10

标签: java eclipse selenium webdriver

我发现,在运行我的硒测试时,我在控制台中出现错误......但是这些错误在每次运行时都不会出现。请参阅下面的输出副本:

"Started InternetExplorerDriver server (64-bit)
2.44.0.0
Listening on port 39496
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Error       communicating with the remote browser. It may have died.
Build info: version: '2.43.1', revision: '5163bce', time: '2014-09-10 16:27:58'
System info: host: 'MBD0150', ip: '192.168.55.49', os.name: 'Windows 8.1', os.arch: 'amd64',     os.version: '6.3', java.version: '1.8.0_25'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:593)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:268)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:79)
at genericControls.contractFunctions.matchRequestTableContractSelectFunction(contractFunctions.java:150)
at Reports.collections.earlySettlementWorkflowFunctions(collections.java:94)
at Reports.programMain.main(programMain.java:44)
Caused by: org.openqa.selenium.WebDriverException: java.net.SocketException: Permission denied:     connect
Build info: version: '2.43.1', revision: '5163bce', time: '2014-09-10 16:27:58'
System info: host: 'MBD0150', ip: '192.168.55.49', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_25'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:75)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:572)
... 5 more
Caused by: java.net.SocketException: Permission denied: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:72)
at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:123)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:233)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:184)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:66)
... 6 more"*

我做了一些研究,根据我的发现,去了: HKEY_LOCAL_MACHINE> “系统”>服务> Tcpip>参数

....并创建了一个名为“MaxUserPort”的REG_DWORD。然后我将值设置为'65534'。我选择了这种方法,因为我的印象是问题是由于每次使用Internet Explorer驱动程序运行测试时都会打开一个新端口。不幸的是,这样做并没有解决问题。我没有附上与上述错误相关的代码,因为我认为它不相关,因为错误将出现在我测试的不同点.....在某些先前已经有效的地方。

如果有人可以提供帮助,那就太棒了。

1 个答案:

答案 0 :(得分:2)

升级Service Pack后,我在过去遇到了同样的问题。但也建议你看下面的内容。

  • 检查您的网络设置(防火墙,代理,防病毒软件) 找到原因"权限被拒绝:连接"
  • 找出它是Windows 7的问题,升级到SP1的问题 解决。
  • 似乎在运行网络驱动程序时,会打开许多​​TCP端口和 耗尽可用端口,然后抛出此异常。校验 Selenium版本如果早于2.44然后尝试升级到2.44和 看看会发生什么。
  • 运行以下命令,杀死所有正在运行的IEDriverServer.exe 进程,taskkill / F / IM IEDriverServer.exe