Ho un'esecuzione di selenio guidata da web java che esegue un ciclo su un elenco per immettere informazioni diverse in una casella di testo e inviarlo utilizzando FirefoxDriver.Selenio abotring con "UnreachableBrowserException/Address già in uso" che si verificano su un computer
Su un computer, abbastanza riproducibile, dopo la decima o l'undicesima iterazione, la chiamata di findElement(By.id("mi4"))
genera un numero 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)
Nessun programma di terze parti in ascolto su nessuna porta. Tuttavia, io uso due istanze di FirefoxDriver, ovvero due istanze di Firefox/Windows aperte in parallelo, che funzionano senza problemi su una macchina Win7, il problema descritto si verifica su una macchina Windows XP.
Io uso Firefox 13 con selenio 2.24.1.
Grazie, ci proverò. Immagino che le porte siano usate dal selenio quando comunicano con il browser? Non li riutilizzeranno? Ho solo due istanze di FirefoxDriver ... – stracktracer
Ha funzionato. Ancora chiedendo perché così tante connessioni sono aperte. – stracktracer
Ho affrontato questo problema molte volte durante l'esecuzione di casi di test del selenio utilizzando jenkins. Non ho mai pensato a questo come alla ragione del problema. Risposta davvero bella –