Webdriver incapable de se connecter à l'hôte 127.0.0.1 sur le port 7055 après 45000 ms

j'ai box où je fais des tests. Il semble que Jenkins ferait ssh dans et exécuterait les commandes décrites dans le travail spécifique qui est en cours.

ici, j'essaie d'exécuter mes tests de Webdriver au sélénium, mais cela me dit que j'ai des erreurs dans le lancement de firefox. L'idée finale est d'exécuter les webtests entièrement sur cette boîte, et aussi de prendre quelques screenshots d'erreurs.

j'utilise selenium-java-2.25.jar, firefox 10, le système d'exploitation linux.

Ce qui est drôle, c'est que je peux entrer manuellement dans la boîte, copier temporairement le cookie magique d'un autre utilisateur sur la boîte (pour obtenir un tunnel X), faire un export DISPLAY=mydisplay:1.0 , puis lancer mes tests de sélénium en utilisant ant. Et ça fera monter firefox et les tests très bien.

il y a plusieurs fils ici qui semblent avoir le même problème, et je pense que j'ai essayé la plupart d'entre eux. Voici ce que j'ai fait:

  • redémarrez la boîte, log de retour dans avec VNC.

  • Placé un script bash dans Jenkins à exécuter avant le sélénium tests. Le script bash ne fait qu'un export DISPLAY=mydisplay:1.0 . Il exécute également xclock . Cela fonctionne comme je peux voir xclock s'afficher dans la VNC.

  • les iptables ont été désactivés

  • firefox est bien dans /usr/bin/firefox

  • sshd_config montre ayant X11Forwarding comme vrai.

  • la rétrogradation supposée de firefox a aidé certaines personnes, mais je ne veux pas faire cela. Webdriver devrait prendre en charge FF 10 de toute façon.

cependant, aucune des réponses ci-dessus ne résout le problème.

il ne semble pas que le port 7055 sur localhost existe même:

netstat -an | grep 7055 - rien gravures

C'est ce que dit my /etc/hosts:

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

peut-être que cela a quelque chose à voir avec localhost:7055 n'existe pas? Je ne sais pas où aller à partir d'ici. pourtant, pourquoi la sortie d'erreur indique-t-elle qu'il cherche display: :0.0 alors que j'ai spécifié mydisplay:1.0 ?

et enfin la sortie d'erreur je reçois:

[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)
130
demandé sur Brian 2012-09-25 21:27:54

29 réponses

Je ne sais pas si vous avez résolu ce problème, mais je viens de résoudre le même problème de l'autre côté.

il semble que le sélénium et le Firefox aient de la difficulté à se parler - je soupçonne que le Firefox "évolue" sur un certain nombre de versions, de sorte que la compatibilité vers l'arrière et vers l'avant ne sont pas toujours garanties, et l'incompatibilité semble toujours générer la même erreur.

mon problème a commencé quand je suis passé de FF 15 à FF 16. En cours d'exécution sur Ubuntu, cela se produit auto par magie avec d'autres mises à niveau, mais je crois que c'était le changement critique.

le problème a été résolu en passant du sélénium 2.24.1 au sélénium 2.25.0

comme le changement de sélénium est juste télécharger le fichier jar et l'exécuter à la place de l'ancien,il est la peine d'essayer ceci comme un dépanneur rapide et facile - si elle n'aide pas, commutez juste en arrière. Dans votre cas, je ne sais pas quelle version du sélénium essayer, mais je pense 2.24 devrait fonctionner avec 10 FF.

un autre problème que j'ai trouvé dans le passé est que Firefox ne fonctionnerait pas en tant que root sur Ubuntu. Cela se produit si Selenium fonctionne comme un service, ou peut-être s'il est activé à partir d'un script bash ou d'un travail cron. Ça explique peut-être pourquoi ça marche pour toi, mais pas pour Jenkins.

90
répondu user1771179 2016-04-21 09:55:25

j'ai eu un problème similaire. Peut-être que cette réponse vous aidera.

il semble que vous ayez deux erreurs différentes en cours:

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

la raison de l'erreur Unable to connect est que la version de Selenium Server ne sait pas comment travailler avec la nouvelle version de Firefox. Vous devez télécharger une nouvelle version du serveur Selenium qui prend en charge la nouvelle version de Firefox.

la raison de l'erreur Error: no display specified est que Firefox est lancé, mais il n'y a pas de serveur X (GUI) tournant sur l'hôte distant. Vous pouvez utiliser la redirection X11 Firefox sur l'hôte distant, mais de l'afficher sur votre ordinateur local. Sur Mac OS X, vous devrez télécharger XQuartz afin d'utiliser X11 forwarding.

14
répondu Andrew 2014-12-31 04:20:35

vous devez vérifier la compatibilité du navigateur avant de choisir de tester avec le sélénium:

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

Cela pourrait aider à répondre à la question ci-dessus.

13
répondu Viraj Pai 2016-07-15 15:24:46

obtenir la dernière jarres de sélénium (2.30) Pour FireFox 19

vous pouvez télécharger les derniers pots (2.31 au moment de l'écriture) ici: https://code.google.com/p/selenium/downloads/list

8
répondu Henock Gashaw 2013-03-11 22:49:01

j'ai résolu ce problème en déclassant mon Firefox à une version plus ancienne qui avait déjà bien fonctionné avec Selenium-WebDriver. Dans mon cas, J'ai dû rétrograder vers Firefox 18 et cette version a fonctionné avec Selenium 2.27

voici le lien pour obtenir des versions plus anciennes de firefox: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases /

6
répondu gps 2013-05-28 22:35:14

cette question m'A hanté pendant longtemps et j'ai vu une solution de travail dans le cas de Firefox était de utiliser le pilote firefox amélioré .

  • si votre améliorations de firefox se produisent automatiquement que vous pourriez faire face à ce problème une fois de temps en temps. On dirait que les gars de Firefox se développent trop vite, ou ils ne se soucient pas de la compatibilité arrière.

  • chaque fois que je vois ce problème sur mes vieux scripts, je vérifie si la version de firefox a changé depuis - la plupart du temps, il est.

  • puis je vais à maven repo pour selenium firefox driver repo - http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver et télécharger la dernière version.

  • ou de mettre à jour mon pompon.xml (si maven est utilisé) avec version du pilote firefox en ce moment its-2.40.0

  • il n'y a pas de moyen facile d'éviter ce problème à moins que vous ne bloquiez vraiment explicitement la mise à jour automatisée de firefox (vous pouvez le faire (sur Mac) dans Préférences - Advanced - Update - sélectionnez "Check for updates, but let me choose whether to install them")

  • si vos scripts fonctionnent en mode automatisé, vous pouvez désactiver les mises à jour. Cependant, cette peut créer d'autres problèmes. Puisque la plupart des gens/utilisateurs peuvent avoir des mises à jour de firefox activées par défaut. Votre application n'est donc pas vraiment Testée sur les versions ultérieures.

5
répondu software.wikipedia 2014-04-01 20:59:51

mise à Jour de sélénium pots, télécharger le sélénium 2.31.0

Ce problème a été résolu par le sélénium gars

il s'agissait d'un problème de compatibilité.

Cheers

4
répondu Prabhat 2013-03-26 14:45:43

j'avais Firefox 47 et Sélénium 2.53 , et j'ai eu le même message d'erreur. Ma solution était de changer Firefox 47 en Firefox 46 , le problème a été résolu.

4
répondu BrennQuin 2016-06-16 17:00:17

Le problème avec le script, c'est que l'environnement utilisé pour le script n'est pas le même que celui utilisé pour les tests, ainsi configurer les variables d'environnement, il ne fait rien pour vos tests.

pour définir correctement la variable dont vous avez besoin pour la définir dans Jenkins. Allez à Gérer Jenkins>Gérer les noeuds > maître > configurer . Cochez la case variables D'environnement , puis entrez DISPLAY dans la case nom, et définissez la valeur à : 1.0.

en outre, vous aurez besoin de définir les permissions, essayez de désactiver vos contrôles d'accès xhost en utilisant xhost + dans le terminal.

3
répondu aajenkins 2013-07-29 21:28:25

j'ai également fait face au même problème. Chaque fois que nous ou webdriver ouvrons le navigateur FF vérifiera les mises à jour, le cas échéant. Dans ce cas, je vais essayer de mettre à jour pendant le temps d'exécution et ensuite vous obtiendrez l'erreur même si elle est correctement mise à jour juste parce que vous n'avez pas mis à jour la version Selenium de manière appropriée.

Naviguer vers " http://docs.seleniumhq.org/download/ " et de télécharger la dernière version. Maintenant va vérifier, le problème serait résolu, en effet. :)

2
répondu Mani P 2014-04-19 03:31:51

j'ai la même erreur; j'ai utilisé selenium-java version 2.25.0 et Firefox vrsion 18.0.2; J'ai changé la version de sélénium java pour 2.30.0 et fonctionne maintenant.

1
répondu Radu L. 2013-03-07 09:17:25

pour résoudre ce problème, utilisez les nouveaux fichiers jar disponibles sur http://docs.seleniumhq.org/download / . En ce qui concerne java, C#, php etc...Firefox 27.0.1 nécessite 2.39.0 de la version pilote.

1
répondu Ankit K Gupta 2014-02-21 16:44:18

il suffit d'installer le Plugin Xvnc dans Jenkins. Le problème devrait être résolu.

1
répondu tarique313 2014-02-27 05:09:22

j'ai eu la même erreur" selenium_Unable pour se connecter à l'hôte 127.0.0.1 sur le port 7055" Solution: j'ai utilisé selenium-java-2.48.2 avec la version 43.0.1 de Firefox et maintenant cela fonctionne bien.

1
répondu Samir 007 2016-01-04 06:48:51

Moi aussi eu le même problème mais le problème est résolu après déclassement firefox version 35.0.1 et mon sélénium version 2.43

1
répondu SHAIK NAWAZ SHAREEF 2016-05-23 09:25:01

j'ai eu exactement le même problème avec docker, mais j'ai trouvé la solution dans le journal précédant l'erreur que vous avez mentionnée.

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)

j'ai suivi les conseils et le problème a été réglé.

1
répondu Krzysztof Dabrowski 2016-11-11 12:16:17

C'est comment il se comporte quand j'ai utilisé la propriété statique D'IWebDriver et l'appeler à partir de plusieurs méthodes d'essai.

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()
    {
        ...
    }

    ...
}

Comme

 [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("Контакт"));
 }

Solution

pour chaque méthode d'essai d'appel, créer une nouvelle instance du pilote

 private static void English()
 {
            var drv = Driver.Instance;
            var el = drv.FindElement(By.Id("mvc_lang_en"));
            el.Click();
 }
0
répondu ZbynekSulc 2014-07-11 10:51:30

mettre à jour les bocaux de sélénium si notre script de sélénium n'est pas exécuté. Actuellement, j'utilise selenium-java-2.43.0-srcs

Maintenant, il travaille très bien

0
répondu swathi 2014-09-19 11:44:56

Il se passe sur les différentes versions de ff. J'utilise la dernière version ff 39 en utilisant selenium-server-standalone-2.41.0.jar et selenium-java-2.41.0.zip qui affiche la même erreur.

Obtenir la dernière version du serveur et du client fichiers jar ici pour la compatibilité, j'ai utilisé le serveur et le client versions 2.47.0 et 2.47.1 respectivement. Et Boom! Il a travaillé.

0
répondu AHashmi 2015-08-03 13:42:07

cela se produit à cause des anciennes versions. Il suffit de mettre à jour le navigateur à la dernière version et de mettre à jour le paquet de webdriver de sélénium à la dernière version.

0
répondu Prabu Ananthakrishnan 2015-08-11 04:33:09

redémarrez le terminal. Le Terminal n'est pendu à rien d'autre. Tout ira bien après cela

0
répondu Sachin Mour 2015-09-26 17:39:27

ajout à la base de connaissances. Nous avions le même problème sur le bambou. Le problème a été résolu en utilisant les propriétés environnementales sur le bambou.

DISPLAY=":1"

ajouter la valeur comme propriétés du système dans le pom.xml, ou la ligne de commande ne fonctionne pas.

0
répondu Pool 2015-11-24 09:39:20

Sur Windows: Vérifiez aussi le "bitness" de votre Firefox. Firefox 43.0.1 64bit ne fonctionne pas avec le sélénium 2.50.0. Bon fonctionnement avec Firefox 43.0.1 32bit ...

0
répondu Ivan 2016-10-10 09:20:34

moi aussi j'ai été bloqué à cette erreur pendant trois jours et j'ai finalement compris.Vous pouvez voir la réponse que j'ai donnée ici .C'est le navigateur et le sélénium serveur de problème de compatibilité. J'espère que cette aide.Vous pouvez vérifier la compatibilité de votre navigateur à partir de ce lien

0
répondu sagar chapagain 2017-05-23 12:26:20

j'ai eu le même problème aujourd'hui. Pour corriger, j'ai déclassé la version 51 à 47 de firefox et ça marche.

Note: j'utilise un Mate Ubuntu Linux, dans une boîte virtuelle, avec l'hôte étant un autre Mate Ubuntu. Tous les OS sont 64 bits et firefox aussi.

0
répondu Topera 2017-02-02 13:19:13

Installed Firefox Setup 18.0.exe, ça marche pour moi

0
répondu Enayath Ali 2017-04-12 11:45:35

j'ai eu le même problème avec firefox 38.

après avoir utilisé les dépendances de version suivantes, je pourrais résoudre le problème.

    <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
répondu Udara Seneviratne 2017-05-15 08:34:39

je pense que cela pourrait être un problème d'affichage. Si vous n'avez pas GUI dans la boîte, alors le lancement de firefox à partir de selenium webdriver donnerait cette erreur.

pour résoudre ce problème, installez d'abord Xvfb [ yum install Xvfb -y ] (un pilote d'affichage virtuel) dans la boîte. Puis lancez votre test de jenkins avec xvfv-run -a -d <your test execution command> . Cela lancera le navigateur dans un tampon d'affichage virtuel. Il est également capable d'obtenir des captures d'écran en utilisant selenium webdriver.

0
répondu Prasanta Biswas 2018-02-26 07:28:00

Solution -

1) Mettez à jour votre serveur de sélénium, c.-à-d. selenium jar "selenium-server-standalone-2.xx.x.JAR" POUR "sélénium-serveur-autonome-2.45.0.JAR "

2) Mettez à jour votre pilote client Selenium, c.-à-d. le dossier selenium libs "selenium-java-2.xx.x " à "sélénium-java-2.45.0"

3) vérifier et installer la version compatible de Firefox

Refer - télécharger la version mise à jour de selenium libs & jar c.-À-D. La Version 2.45.0

cela résoudra votre problème.. Acclamations !!

-1
répondu NarendraC 2016-07-12 06:56:12