Webdriver Impossible de se connecter à l’hôte 127.0.0.1 sur le port 7055 après 45 000 ms

J’ai une boîte où je fais des tests. Il semble que Jenkins insère et exécute des commandes décrites dans le travail spécifique en cours d’exécution.

J’essaie ici de lancer mes tests Selenium Webdriver, mais cela me dit que j’ai des erreurs lors du lancement de Firefox. L’idée finale consiste à exécuter les tests Web sur cette boîte et à prendre des captures d’écran des erreurs.

J’utilise selenium-java-2.25.jar, firefox 10, Linux OS.

La chose amusante est que je peux ssh 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 une export DISPLAY=mydisplay:1.0 , puis lancer mes tests de selenium avec ant. Et cela amènera Firefox et les tests très bien.

Il y a différents sujets ici qui semblent avoir exactement 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, reconnectez-vous avec VNC.

  • Placé un script bash dans Jenkins à exécuter avant de lancer les tests de selenium. Le script bash ne fait essentiellement qu’une export DISPLAY=mydisplay:1.0 . Il exécute également xclock . Cela fonctionne comme je peux voir xclock être affiché dans le VNC.

  • iptables a été désactivé

  • Firefox est correctement situé dans / usr / bin / firefox

  • sshd_config montre que X11Forwarding est vrai.

  • Supposons que Firefox ait aidé certaines personnes, mais je ne souhaite pas le faire. Webdriver devrait supporter FF 10 de toute façon.

Cependant, aucun de ces problèmes ne résout le problème.

Le port 7055 sur localhost ne semble même pas exister:

netstat -an | grep 7055 netstat -an | grep 7055 – Rien ne s’imprime

Voici ce que dit mon / 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 d’ici. encore, pourquoi la sortie d’erreur indique-t-elle qu’elle recherche l’ display: :0.0 lorsque j’ai spécifié mydisplay:1.0 ?

Et enfin la sortie d’erreur que 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.(RemoteWebDriver.java:109) [testng] at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:185) [testng] at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:178) [testng] at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:174) [testng] at org.openqa.selenium.firefox.FirefoxDriver.(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) 

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 Selenium et Firefox ont des difficultés à se parler – je soupçonne que Firefox «évolue» sur un certain nombre de versions, donc la compatibilité en amont et en aval n’est pas toujours garantie et les incompatibilités semblent toujours générer la même erreur.

Mon problème a commencé lorsque je suis passé de FF 15 à FF 16. En cours d’exécution sur Ubuntu, cela se produit comme 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 de Selenium 2.24.1 à Selenium 2.25.0

Comme le changement de selenium consiste simplement à télécharger le fichier jar et à l’exécuter à la place de l’ancien, cela vaut la peine d’essayer un outil de dépannage rapide et facile – si cela ne vous aide pas, il vous suffit de revenir en arrière. Dans votre cas, je ne suis pas sûr de la version de Selenium à essayer, mais je pense que 2.24 devrait fonctionner avec FF 10.

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 est exécuté en tant que service, ou s’il est déclenché à partir d’un script bash ou d’un travail cron. Cela peut expliquer pourquoi cela fonctionne pour vous, mais pas pour Jenkins.

J’ai eu un problème similaire. Peut-être que cette réponse vous aidera également.

Il semble que vous ayez deux erreurs différentes:

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

L’erreur de Unable to connect est due au fait que la version de Selenium Server ne sait pas comment utiliser la nouvelle version de Firefox. Vous devez télécharger une version plus récente du serveur Selenium prenant en charge la nouvelle version de Firefox.

La raison de l’ Error: no display specified erreur d’ Error: no display specified n’est due au lancement de Firefox, mais aucun serveur X (GUI) ne s’exécute sur l’hôte distant. Vous pouvez utiliser le transfert X11 pour exécuter Firefox sur l’hôte distant, mais l’afficher sur votre hôte local. Sous Mac OS X, vous devrez télécharger XQuartz pour pouvoir utiliser le transfert X11.

Vous devez vérifier la compatibilité du navigateur avant de choisir de tester avec Selenium:

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

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

Recevez les derniers pots Selenium (2.30) pour FireFox 19

Vous pouvez télécharger les derniers fichiers JAR (2.31 à ce jour) ici: https://code.google.com/p/selenium/downloads/list

J’ai résolu ce problème en rétrogradant mon Firefox à une version antérieure qui avait déjà bien fonctionné avec Selenium-WebDriver. Dans mon cas, j’ai dû revenir à Firefox 18 et cette version a fonctionné avec Selenium 2.27

Voici le lien pour obtenir les anciennes versions de Firefox: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/

Ce problème me hante depuis longtemps et j’ai vu une solution efficace dans le cas de Firefox: utiliser le pilote firefox mis à niveau .

  • Si vos mises à niveau de firefox se produisent automatiquement, vous pouvez rencontrer ce problème de temps en temps. On dirait que les gars de Firefox se développent trop vite, ou qu’ils ne se soucient pas de la compatibilité ascendante.

  • Chaque fois que je vois ce problème sur mes anciens scripts, je vérifie si la version de Firefox a changé depuis – la plupart du temps.

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

  • ou mettre à jour mon pom.xml (si maven est utilisé) avec la nouvelle version du pilote firefox maintenant – 2.40.0

  • Il n’ya pas de moyen facile d’éviter ce problème, sauf si vous bloquez explicitement la mise à jour automatique de Firefox (vous pouvez le faire (sur Mac) dans les préférences – Avancé – Mettre à jour – Sélectionnez “Vérifier les mises à jour”. )

  • Si vos scripts sont exécutés en mode automatisé, vous souhaiterez peut-être désactiver les mises à jour. Cependant, cela peut créer d’autres problèmes. Étant donné que la plupart des utilisateurs / utilisateurs peuvent avoir des mises à jour firefox activées par défaut. Ainsi, votre application n’est pas vraiment testée sur les versions ultérieures.

Mettre à jour les pots de selenium, télécharger le selenium 2.31.0

Ce problème a été résolu par les gars de selenium

C’était un problème de compatibilité.

À votre santé

J’avais Firefox 47 et Selenium 2.53 , et j’ai eu la même erreur. Ma solution a été de changer Firefox 47 en Firefox 46 , le problème a été résolu.

Le problème avec le script est que l’environnement utilisé pour le script n’est pas le même que celui utilisé pour vos tests. Par conséquent, définir les variables d’environnement ne fait rien pour vos tests.

Pour définir correctement la variable, vous devez la définir dans Jenkins. Accédez à Manage Jenkins> Manage Nodes> Master> Configure . Activez la case à cocher Variables d’environnement , puis entrez DISPLAY dans la zone Nom et définissez la valeur sur: 1.0.

De plus, vous devrez définir des permissions, et désactiver les contrôles d’access xhost à l’aide de xhost + dans le terminal.

J’ai aussi fait face au même problème. Chaque fois que nous ou webdriver ouvre le navigateur FF vérifiera les éventuelles mises à jour. Dans ce cas, j’essaierai de mettre à jour pendant l’exécution et vous obtiendrez l’erreur même si elle a été mise à jour correctement simplement parce que vous n’avez pas mis à jour la version de Selenium de manière appropriée.

Accédez à ” http://docs.seleniumhq.org/download/ ” et téléchargez la dernière version. Maintenant, allez vérifier, le problème serait résolu, en effet. 🙂

J’ai eu la même erreur; J’ai utilisé selenium-java version 2.25.0 et Firefox vresion 18.0.2; J’ai changé la version de selenium-java en 2.30.0 et fonctionne maintenant.

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 une version 2.39.0 du pilote.

Il suffit d’installer Xvnc Plugin dans Jenkins. Le problème devrait être résolu.

J’ai eu la même erreur “selenium_Unable pour se connecter à l’hôte 127.0.0.1 sur le port 7055” J’ai utilisé selenium-java-2.48.2 avec Firefox version 43.0.1 et maintenant ça marche bien.

Moi aussi j’ai eu le même problème mais le problème est résolu après avoir rétrogradé la version de Firefox à 35.0.1 et ma version de selenium est 2.43

J’ai eu exactement le même problème en exécutant 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é.

C’est ainsi que je me suis comporté lorsque j’ai utilisé la propriété statique de IWebDriver et que je l’appelle à partir de plusieurs méthodes de test.

 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 appel, les méthodes de test créent une nouvelle instance de Driver

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

Mettez à jour les pots de selenium si notre script de selenium ne s’exécute pas. Actuellement, j’utilise selenium-java-2.43.0-srcs

Maintenant ça fonctionne bien

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

Procurez-vous les derniers fichiers jar de serveur et de client pour la compatibilité avec les versions 2.47.0 et 2.47.1 du serveur et du client. Et Boom! Ça a marché.

Cela se produit à cause des anciennes versions. Il vous suffit de mettre à jour le navigateur vers la dernière version et de mettre à jour le package sélecteur de selenium webdriver vers la dernière version.

Redémarrez le terminal. Terminal n’est rien d’autre pendu. Tout ira bien après ça

Ajout à la base de connaissances. Nous avons eu le même problème sur Bamboo. Le problème a été résolu en utilisant les propriétés environnementales sur Bamboo.

 DISPLAY=":1" 

L’ajout de la valeur en tant que propriétés système dans le fichier pom.xml ou la ligne de commande n’a pas fonctionné.

Sur Windows: Vérifiez également le “bitness” de votre Firefox. Firefox 43.0.1 64bit ne fonctionne pas avec Selenium 2.50.0. Travaille bien avec Firefox 43.0.1 32bit …

J’ai moi aussi été bloqué sur cette erreur pendant trois jours et j’ai finalement trouvé la solution. Vous pouvez voir la réponse que j’ai donnée ici . C’est un problème de compatibilité entre le navigateur et le serveur de selenium. J’espère que cela aide.Vous pouvez vérifier la compatibilité du navigateur à partir de ce lien

J’ai eu le même problème aujourd’hui. Pour corriger, j’ai rétrogradé firefox version 51 à 47 et ça marche.

Note: J’utilise un Linux Ubuntu Mate, dans une Virtual Box, l’hôte étant un autre Ubuntu Mate. Tous les OS sont 64 bits et Firefox également.

Installé Firefox Setup 18.0.exe il fonctionne pour moi

J’ai eu le même problème avec firefox 38.

Après avoir utilisé les dépendances de version suivantes, j’ai pu résoudre le problème.

   org.seleniumhq.selenium selenium-java 2.53.0   org.seleniumhq.selenium selenium-firefox-driver 2.53.0  

Je pense que cela pourrait être un problème d’affichage. Si vous n’avez pas d’interface graphique dans la boîte, lancer 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. Exécutez ensuite votre test à partir de jenkins avec xvfv-run -a -d . Cela lancera le navigateur dans un tampon d’affichage virtuel. En outre, il est capable d’obtenir des captures d’écran en utilisant le sélecteur Web.

Solution –

1) Mettez à niveau votre serveur Selenium, c.-à-d. Le selenium jar “selenium-server-standalone-2.xx.x.JAR” vers “selenium-server-standalone-2.45.0.JAR”

2) Mettez à niveau votre pilote client Selenium, c.-à-d. Le dossier de librairies de selenium “selenium-java-2.xx.x” vers “selenium-java-2.45.0”

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

Refer – Télécharger les librairies et jar à selenium mis à jour, c’est à dire la version 2.45.0

Cela va résoudre votre problème .. Cheers !!