selenium无法访问浏览器异常,java socket异常

Mic*_*ler 5 java selenium webdriver

最近,特别是在同一台PC上运行多个任务和进程时,selenium webdriver 2提供了许多无法访问的浏览器异常,这些异常总是带有java套接字异常:

 Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException:                         Could not start a new session. Possible causes are invalid address of the remote server or     browser start-up failure.
   Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:09:54'
  System info: os.name: 'Windows Vista', os.arch: 'x86', os.version: '6.0',       java.version: '1.7.0_05'
   Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:493)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:182)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:185)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:178)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:174)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)

    Caused by: java.net.SocketException: Permission denied: connect
at java.net.DualStackPlainSocketImpl.connect0(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.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:150)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:575)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:319)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:297)
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:136)
at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:357)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:472)
... 7 more
Run Code Online (Sandbox Code Playgroud)

为什么这种情况经常发生?selenim 2.25与firefox 14不兼容吗?

kus*_*han 1

我在使用 Selenium Web Driver 时也遇到了同样的问题。特别是当我运行很长的测试脚本而不重新启动网络驱动程序时。然后我换了一台性能更强的新机器,然后我就可以避免它近 90%。

我认为发生这种情况是因为内存不足,因此我将新机器的 RAM 升级到了 4GB。

这解决了我的问题,现在一切正常。

注意:每次测试运行后请检查是否正确关闭驱动程序,这也可能导致因内存泄漏而杀死驱动程序。