Tengo una ejecución de selenio manejada por webDave de Java que hace un ciclo sobre una lista para ingresar información diferente en un cuadro de texto y enviarlo usando FirefoxDriver.Selenium abotring con "UncachableBrowserException/Address already in use" que se encuentra en una computadora
En una computadora, bastante reproducible, después de la 10ª u 11ª iteración, la llamada de findElement(By.id("mi4"))
levanta un UnreachableBrowserException
.
Jun 29, 2012 1:52:02 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
Information: I/O exception (java.net.BindException) caught when connecting to the target host: Address already in use: connect
Jun 29, 2012 1:52:02 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
Information: Retrying connect
Jun 29, 2012 1:52:02 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
Information: I/O exception (java.net.BindException) caught when connecting to the target host: Address already in use: connect
...
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 15:28:49'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.7.0_04'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:467)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:242)
Caused by: java.net.BindException: Address already in use: connect
at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:337)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:297)
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:136)
No hay un programa de terceros escuchando en ningún puerto. Sin embargo, uso dos instancias de FirefoxDriver, es decir, dos instancias de Firefox/Windows abierto en paralelo, que funciona sin ningún problema en una máquina Win7, el problema descrito se produce en una máquina con Windows XP.
Uso Firefox 13 con selenio 2.24.1.
Gracias, intentaré esto. Supongo que los puertos son utilizados por el selenio cuando se comunica con el navegador. ¿No los reutilizarán? Solo tengo dos instancias de FirefoxDriver ... – stracktracer
Eso funcionó. Todavía me pregunto por qué se abren tantas conexiones. – stracktracer
Me he enfrentado a este problema muchas veces al ejecutar casos de prueba de selenio utilizando jenkins. Nunca pensé en esto como la razón del problema. Muy buena respuesta. –