Webdriver Impossibile connettersi all'host 127.0.0.1 sulla porta 7055 dopo 45000 ms


138

Ho una scatola in cui eseguo i test. Sembra che Jenkins inserisca ed esegua i comandi descritti nel lavoro specifico in esecuzione.

Qui sto cercando di eseguire i miei test Selenium Webdriver, ma mi dice che ho degli errori nell'avvio di Firefox. L'idea finale è di eseguire interamente i test Web su questa casella e di acquisire anche alcuni screenshot degli errori.

Sto usando selenium-java-2.25.jar, firefox 10, sistema operativo Linux.

La cosa divertente è che posso inserire manualmente nella casella, copiare temporaneamente il cookie magico da un altro utente sulla scatola (per ottenere un tunnel X), fare un export DISPLAY=mydisplay:1.0, quindi avviare i miei test al selenio usando la formica. E questo farà apparire Firefox e i test bene.

Ci sono vari thread qui che sembrano avere lo stesso identico problema e penso di aver provato la maggior parte di essi. Ecco cosa ho fatto:

  • Riavvia la scatola, accedi nuovamente con VNC.

  • Inserito uno script bash in Jenkins da eseguire prima di eseguire i test al selenio. Lo script bash praticamente fa semplicemente un export DISPLAY=mydisplay:1.0. Esegue anche xclock. Funziona come posso vedere xclock visualizzato nel VNC.

  • iptables è stato disattivato

  • firefox si trova correttamente in / usr / bin / firefox

  • sshd_config mostra che X11Forwarding è true.

  • Presumibilmente il downgrade di Firefox ha aiutato alcune persone, ma non desidero farlo. Webdriver dovrebbe comunque supportare FF 10.

Tuttavia, nessuna delle precedenti soluzioni risolve il problema.

Non sembra che esista nemmeno la porta 7055 su localhost:

netstat -an | grep 7055 - Niente stampa

Questo è ciò che dice il mio / etc / hosts:

  1 127.0.0.1               localhost.localdomain localhost
  2 ::1             localhost6.localdomain6 localhost6

Forse ha qualcosa a che fare con localhost: 7055 non esiste? Non sono sicuro di dove andare da qui. ancora, perché l'output dell'errore dice che sta cercando display: :0.0quando ho specificato mydisplay:1.0?

E infine l'output dell'errore che ricevo:

[testng] org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng] 
[testng] Error: cannot open display: :0.0
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng] 
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng] 
[testng] Xlib: connection to ":0.0" refused by server
[testng] Xlib: No protocol specified
[testng] 
[testng] Error: cannot open display: :0.0
[testng] 
[testng]    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:109)
[testng]    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:245)
[testng]    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:109)
[testng]    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:185)
[testng]    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:178)
[testng]    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:174)
[testng]    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:92)
[testng]    at com.test.webtest.browser.BrowserFactory.createBrowser(BrowserFactory.java:24)
[testng]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[testng]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[testng]    at java.lang.reflect.Method.invoke(Method.java:601)

Ho riprodotto questo problema con il selenio 2.31.0
Dima Star

Sto riscontrando questo problema con Selenium 2.47.1 e non vedo il messaggio che il server del driver firefox è stato avviato sulla porta XXXX. Invece ottengo una finestra vuota che si apre e nessun controllo sul browser, supponendo perché la porta non si è aperta per ascoltare i comandi del protocollo filo dal test.
Djangofan,

Sembra che la combinazione del server Selenium 2.47.1 e Firefox 40 sia OK, non funziona con Firefox 41 per me.
Rostislav Matl,

Se non hai la GUI nella tua scatola e stai eseguendo i test nella scatola usando firefox, ottieni questo errore. Ti suggerisco di provare con Xvfb nel driver di visualizzazione della memoria. Oppure questo potrebbe anche essere un problema di versione di Firefox e compatibilità con la versione di selenio.
Prasanta Biswas è stato

Risposte:


91

Non so se hai risolto questo problema, ma ho appena risolto lo stesso problema dall'altra parte.

Sembra che Selenium e Firefox abbiano difficoltà a parlarsi - sospetto che Firefox "evolva" le modifiche su un numero di versioni, quindi la compatibilità con le versioni precedenti e successive non è sempre garantita e l'incompatibilità sembra sempre generare lo stesso errore.

Il mio problema è iniziato quando sono passato da FF 15 a FF 16. In esecuzione su Ubuntu, questo si verifica automaticamente con altri aggiornamenti, ma credo che questo sia stato il cambiamento critico.

Il problema è stato risolto passando dal Selenio 2.24.1 al Selenio 2.25.0

Poiché la modifica del selenio è semplicemente scaricare il file jar ed eseguirlo invece di quello precedente, vale la pena provare questo come uno strumento di risoluzione dei problemi rapido e semplice - se non aiuta, basta tornare indietro. Nel tuo caso, non sono sicuro di quale versione di Selenium provare, ma penso che 2.24 dovrebbe funzionare con FF 10.

Un altro problema che ho riscontrato in passato è che Firefox non funzionerebbe come root su Ubuntu. Ciò accade se Selenium è in esecuzione come servizio o, eventualmente, se viene avviato da uno script bash o un processo cron. Questo potrebbe spiegare perché funziona per te ma non per Jenkins.


2
Sto usando FF 19.0 e selenium-server-standalone-2.29.0.jar in Ubuntu. Quando ho eseguito i test del selenio in Jenkins ho avuto lo stesso errore: org.openqa.selenium.firefox.NotConnectedException: impossibile connettermi all'host 127.0.0.1 sulla porta 7055 dopo 45000 ms. Uscita console Firefox: [testng] Errore: nessuna visualizzazione specificata [testng] Errore: nessuna visualizzazione specificata
Ripon Al Wasim

@RiponAlWasim Hai fortuna a risolvere il problema? Sto eseguendo 2.31.0 e ho lo stesso problema.
Petr Peller,

@Petr Peller: qual è la versione del tuo FF?
Ripon Al Wasim il

1
Questo sembra essere un problema in corso. Ho riscontrato questo errore con Selenium Webdriver 2.47 e Firefox 44. L'aggiornamento di Selenium Webdriver alla 2.53 l'ha risolto.
B Seven,

1
tl; dr - Selenio aggiornamento (file .jar qui - selenium-release.storage.googleapis.com/index.html )
rinogo

14

Ho avuto un problema simile. Forse questa risposta ti aiuterà anche.

Sembra che tu abbia due errori diversi in corso:

  1. Unable to connect to host 127.0.0.1 on port 7055
  2. Error: no display specified

Il motivo Unable to connectdell'errore è che la versione di Selenium Server non sa come lavorare con la versione più recente di Firefox. È necessario scaricare una versione più recente del server Selenium che supporti la versione più recente di Firefox.

Il motivo Error: no display specifieddell'errore è che Firefox è in fase di avvio, ma non è in esecuzione alcun server X (GUI) sull'host remoto. È possibile utilizzare l'inoltro X11 per eseguire Firefox sull'host remoto, ma visualizzarlo sull'host locale. Su Mac OS X, dovrai scaricare XQuartz per utilizzare l'inoltro X11.


13

Devi verificare la compatibilità del browser prima di optare per il test con Selenium:

https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG

Questo potrebbe aiutare a rispondere alla domanda sopra.


Questo è stato il problema che ho riscontrato. E non era il browser nel mio caso. Era il sistema operativo sottostante. Sto usando Mac OS X - Yosemite. E solo l'ultimo selenio sembra funzionare con esso.
Ajit S

2
link non funzionante signore
mido,


6

Ho risolto questo problema eseguendo il downgrade di Firefox a una versione precedente che in precedenza aveva funzionato bene con Selenium-WebDriver. Nel mio caso, ho dovuto eseguire il downgrade a Firefox 18 e questa versione ha funzionato con Selenium 2.27

Ecco il link per ottenere le versioni precedenti di firefox: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/


5

Questo problema mi ha perseguitato per molto tempo e ho visto una soluzione funzionante nel caso in cui Firefox fosse utilizzare il driver firefox aggiornato .

  • Se gli aggiornamenti di Firefox si verificano automaticamente, è possibile che si verifichi questo problema di tanto in tanto. Sembra che i ragazzi di Firefox si stiano sviluppando troppo velocemente o non si preoccupino della compatibilità con le versioni precedenti.

  • Ogni volta che vedo questo problema sui miei vecchi script, controllo se la versione di Firefox è cambiata da allora - il più delle volte lo è.

  • Poi vado al repo di Maven per il repo del driver di selenio firefox - http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver e scarico l'ultima versione.

  • o aggiorna il mio pom.xml (se viene utilizzato maven) con la nuova versione del driver firefox ora - 2.40.0

  • Non esiste un modo semplice per evitare questo problema se non si blocca in modo esplicito l'aggiornamento automatizzato da Firefox (è possibile farlo (su Mac) nelle preferenze - Avanzate - Aggiorna - Selezionare "Controlla aggiornamenti, ma lasciami scegliere se installarli" )

  • Se i tuoi script sono in esecuzione in modalità automatizzata, potresti voler disabilitare gli aggiornamenti. Tuttavia, ciò può creare altri problemi. Poiché la maggior parte delle persone / utenti potrebbe avere gli aggiornamenti di Firefox abilitati per impostazione predefinita. Quindi l'applicazione non viene realmente testata su versioni successive.


5

Avevo Firefox 47 e Selenium 2.53 e ho avuto lo stesso errore. La mia soluzione era cambiare Firefox 47 in Firefox 46 , il problema è stato risolto.


4

Aggiorna i vasetti di selenio, scarica selenio 2.31.0

Questo problema è stato risolto dai ragazzi del selenio

Questo era un problema di compatibilità.

Saluti


3

Il problema con lo script è che l'ambiente utilizzato per lo script non è lo stesso di quello utilizzato per i test, quindi l'impostazione delle variabili di ambiente non fa nulla per i test.

Per impostare correttamente la variabile è necessario impostarla in Jenkins. Vai su Gestisci Jenkins> Gestisci nodi> Master> Configura . Selezionare la casella di controllo Variabili d'ambiente , quindi immettere DISPLAY nella casella del nome e impostare il valore su: 1.0.

Inoltre dovrai impostare le autorizzazioni, prova a disabilitare i controlli di accesso xhost utilizzando xhost +nel terminale.


1
Quel "xhost +" ha risolto il mio problema, che era che l'esecuzione del webdriver con sudo non apriva un browser - ora funziona.
Nick Perkins

2

Ho anche affrontato lo stesso problema. Ogni volta che apriamo noi o il webdriver, il browser FF controllerà gli eventuali aggiornamenti. In tal caso, proverò ad aggiornare durante il tempo di esecuzione e quindi visualizzerai l'errore anche se viene aggiornato correttamente solo perché non hai aggiornato la versione di Selenium in modo appropriato.

Passare a " http://docs.seleniumhq.org/download/ " e scaricare l'ultima versione. Ora vai e controlla, il problema sarebbe risolto, anzi. :)


1

Ho avuto lo stesso errore; Ho usato selenium-java versione 2.25.0 e Firefox vresion 18.0.2; Ho cambiato la versione di selenium-java in 2.30.0 e ora funziona.


1

Per risolvere questo problema, utilizzare i nuovi file jar disponibili su http://docs.seleniumhq.org/download/ . Rispetto a java, C #, php ecc ... Firefox 27.0.1 richiede 2.39.0 della versione del driver.


Per me funziona anche con Firefox 29.0 e il driver selenio 2.39.0 (prima che avessi lo stesso problema con Lubuntu 14.0.4)
Huluvu424242

1

Installa il plugin Xvnc in Jenkins. Il problema dovrebbe essere risolto.


1

Ho avuto lo stesso errore "selenium_Unable per connettersi all'host 127.0.0.1 sulla porta 7055" Soluzione: ho usato selenium-java-2.48.2 con Firefox versione 43.0.1 e ora funziona bene.


1

Anch'io ho avuto lo stesso problema ma il problema è stato risolto dopo il downgrade della versione di Firefox a 35.0.1 e la mia versione del selenio è 2.43


1

Ho avuto lo stesso identico problema nell'esecuzione della finestra mobile ma ho trovato la soluzione nel registro che precede l'errore menzionato.

selenium_1  | 2016-11-11 11:19:34,498 DEBG 'xvfb' stderr output:
selenium_1  | (EE)
selenium_1  | Fatal server error:
selenium_1  | (EE) Server is already active for display 99
selenium_1  |   If this server is no longer running, remove /tmp/.X99-lock
selenium_1  |   and start again.
selenium_1  | (EE)

Ho seguito il consiglio e il problema è stato risolto.


0

Ecco come si comportava quando utilizzavo la proprietà statica di IWebDriver e la chiamavo da più metodi di prova.

public class LanguageMenu
{
    private static IWebDriver drv;

    static LanguageMenu()
    {
       drv = Driver.Instance;
    }
    ...

    public static void English()
    {
        drv.FindElement(By.Id("mvc_lang_en"));
        el.Click();
    }

    public static void Rusian()
    {
        ...
    }

    ...
}

Piace

 [TestMethod]
 public void Language_SwitchTo_English()
 {
     LanguageMenu.English();
     Assert.IsTrue(ContactPage.IsAt("Contact"));
 }

 [TestMethod]
 public void Language_SwitchTo_Rusian()
 {
     LanguageMenu.English();
     Assert.IsTrue(ContactPage.IsAt("Контакт"));
 }

Soluzione

Per ciascun metodo di prova chiamante creare una nuova istanza di Driver

 private static void English()
 {
            var drv = Driver.Instance;
            var el = drv.FindElement(By.Id("mvc_lang_en"));
            el.Click();
 }

0

Aggiorna i vasetti di selenio se il nostro script di selenio non viene eseguito. Attualmente sto usando selenium-java-2.43.0-srcs

Ora funziona benissimo


0

Succede su diverse versioni di ff. Sto usando l'ultima versione di ff 39 usando selenium-server-standalone-2.41.0.jar e selenium-java-2.41.0.zip che mostra lo stesso errore.

Ottenere i file del server e jar client più recenti qui per la compatibilità ho usato rispettivamente 2.47.0 e 2.47.1 versioni server e client. E Boom! Ha funzionato.


0

Questo accade a causa di vecchie versioni. Basta aggiornare il browser all'ultima versione e aggiornare il pacchetto selenium webdriver all'ultima versione.


0

Basta riavviare il terminale. Il terminale è impiccato nient'altro. Dopo tutto funzionerà bene


0

Aggiunta alla base di conoscenza. Abbiamo avuto lo stesso problema su Bamboo. Il problema è stato risolto utilizzando le Proprietà ambientali su Bamboo.

DISPLAY=":1"

L'aggiunta del valore come proprietà di sistema in pom.xml o la riga di comando non ha funzionato.


0

Su Windows: controlla anche il "testimone" di Firefox. Firefox 43.0.1 64 bit non funziona con Selenium 2.50.0. Funziona bene con Firefox 43.0.1 a 32 bit ...


0

Anch'io sono rimasto bloccato a questo errore per tre giorni e alla fine l'ho capito. Puoi vedere la risposta che ho dato qui . Questo è il problema di compatibilità del browser e del server di selenio. Spero che questo aiuti. Puoi verificare la compatibilità del browser da questo link


0

Ho avuto lo stesso problema oggi. Per risolvere ho eseguito il downgrade della versione da 51 a 47 di Firefox e funziona.

Nota: sto usando un Ubuntu Mate Linux, in una Virtual Box, con l'host come un altro Ubuntu Mate. Tutti i sistemi operativi sono a 64 bit e anche Firefox.



0

Ho avuto lo stesso problema con Firefox 38.

Dopo aver utilizzato le seguenti dipendenze della versione, ho potuto risolvere il problema.

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.0</version>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.53.0</version>
    </dependency> 

0

Penso che questo potrebbe essere un problema di visualizzazione. Se non hai la GUI nella scatola, l'avvio di Firefox dal selenio webdriver darebbe questo errore.

Per risolvere questo problema, installare prima Xvfb [ yum install Xvfb -y] (un driver di visualizzazione virtuale) nella casella. Quindi esegui il test da jenkins con xvfv-run -a -d <your test execution command>. Ciò avvierà il browser in un buffer di visualizzazione virtuale. Inoltre è in grado di ottenere schermate utilizzando il webdriver selenio.


-1

Soluzione -

1) Aggiorna il tuo Selenium Server, ovvero il selenio jar "selenium-server-standalone-2.xx.x.JAR" A " -server-standalone-2.45.0.JAR"

2) Aggiorna il tuo driver client Selenium, ad esempio la cartella libs selenium "selenium-java-2.xx.x" A "selenium-java-2.45.0"

3) Verifica e installa la versione di Firefox compatibile

Fare riferimento - Scarica le librerie e jar di selenio aggiornati, ad es. Versione 2.45.0

Questo risolverà il tuo problema .. Saluti !!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.