J'ai une boîte où j'exécute des tests. Il semble que Jenkins ssh in et exécute les commandes décrites dans le travail spécifique en cours d'exécution.
Ici, j'essaie d'exécuter mes tests Selenium Webdriver, mais cela me dit que j'ai des erreurs lors du lancement de Firefox. L'idée finale est d'exécuter entièrement les tests Web sur cette boîte et de prendre également des captures d'écran d'erreurs.
J'utilise selenium-java-2.25.jar, firefox 10, Linux OS.
Ce qui est drôle, c'est que je peux ssh 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 cela fera apparaître Firefox et les tests très bien.
Il y a différents threads 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.
Placement d'un script bash dans Jenkins à exécuter avant d'exécuter les tests de sélénium. Le script bash fait simplement un
export DISPLAY=mydisplay:1.0
. Il exécute égalementxclock
. Cela fonctionne comme je peux voir xclock affiché dans le VNC.iptables ont été désactivés
firefox est correctement situé dans / usr / bin / firefox
sshd_config montre que X11Forwarding est vrai.
Le déclassement supposé de Firefox a aidé certaines personnes, mais je ne souhaite pas le faire. Webdriver devrait de toute façon prendre en charge FF 10.
Cependant, rien de ce qui précède ne résout le problème.
Il ne semble pas que le port 7055 sur localhost existe même:
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 trop où aller d'ici. encore, pourquoi la sortie d'erreur indique-t-elle qu'il recherche 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.<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)
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 Selenium et Firefox aient du mal à se parler - je soupçonne que Firefox `` évolue '' sur un certain nombre de versions, donc la compatibilité ascendante et descendante n'est pas toujours garantie et l'incompatibilité semble toujours générer la même erreur.
Mon problème a commencé lorsque je suis passé de FF 15 à FF 16. Sous Ubuntu, cela se produit automatiquement 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 sélénium consiste simplement à télécharger le fichier jar et à l'exécuter à la place de l'ancien, cela vaut la peine d'essayer cela comme un outil de dépannage rapide et facile - si cela n'aide pas, revenez simplement en arrière. Dans votre cas, je ne sais pas quelle 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 fonctionnait pas en tant que root sur Ubuntu. Cela se produit si Selenium s'exécute en tant que service, ou éventuellement s'il est déclenché à partir d'un script bash ou d'une tâche cron. Cela peut expliquer pourquoi il fonctionne pour vous mais pas pour Jenkins.
la source
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 en cours:
Unable to connect to host 127.0.0.1 on port 7055
Error: no display specified
La raison de l'
Unable to connect
erreur est que la version de Selenium Server ne sait pas comment fonctionner avec la nouvelle version de Firefox. Vous devez télécharger une version plus récente du serveur Selenium qui prend en charge la nouvelle version de Firefox.La raison de l'
Error: no display specified
erreur est que Firefox est en cours de lancement, mais aucun serveur X (GUI) n'est en cours d'exécution 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. Sur Mac OS X, vous devrez télécharger XQuartz pour utiliser le transfert X11.la source
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.
la source
Obtenez les derniers bocaux Selenium (2.30) pour FireFox 19
Vous pouvez télécharger les derniers jars (2.31 au moment de la rédaction) ici: https://code.google.com/p/selenium/downloads/list
la source
J'ai résolu ce problème en rétrogradant mon Firefox vers une version plus ancienne qui fonctionnait auparavant bien avec Selenium-WebDriver. Dans mon cas, j'ai dû revenir à Firefox 18 et cette version fonctionnait avec Selenium 2.27
Voici le lien pour obtenir les anciennes versions de Firefox: https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
la source
Ce problème me hante depuis longtemps et j'ai vu qu'une solution de travail dans le cas de Firefox était d' utiliser le pilote Firefox mis à jour .
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é descendante.
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 à maven repo pour le repo de pilotes selenium firefox - http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver et je télécharge la dernière version.
ou mettre à jour mon pom.xml (si maven est utilisé) avec la nouvelle version du pilote Firefox dès maintenant c'est - 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 les préférences - Avancé - Mise à jour - Sélectionnez "Vérifier les mises à jour, mais laissez-moi choisir de les installer" )
Si vos scripts s'exécutent en mode automatisé, vous pouvez désactiver les mises à jour. Cependant, cela peut créer d'autres problèmes. Étant donné que la plupart des personnes / utilisateurs peuvent avoir les mises à jour de Firefox activées par défaut. Votre application n'est donc pas vraiment testée sur les versions ultérieures.
la source
J'avais Firefox 47 et Selenium 2.53 , et j'ai eu la même erreur. Ma solution était de changer Firefox 47 en Firefox 46 , le problème a été résolu.
la source
Mettre à jour les pots de sélénium, télécharger le sélénium 2.31.0
Ce problème a été résolu par les gars du sélénium
C'était un problème de compatibilité.
À votre santé
la source
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, donc la définition des variables d'environnement ne fait rien pour vos tests.
Pour définir correctement la variable, vous devez la définir dans Jenkins. Accédez à Gérer Jenkins> Gérer les nœuds> Maître> Configurer . Cochez la case Variables d'environnement , puis entrez DISPLAY dans la zone de nom et définissez la valeur sur: 1.0.
De plus, vous devrez définir des autorisations, essayez de désactiver vos contrôles d'accès xhost à l'aide
xhost +
du terminal.la source
J'ai également rencontré le même problème. Chaque fois que nous ou le webdriver ouvrirons, le navigateur FF vérifiera les mises à jour, le cas échéant. Dans ce cas, j'essaierai de mettre à jour pendant le temps d'exécution et vous obtiendrez l'erreur même si elle est correctement mise à jour 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. :)
la source
J'ai eu la même erreur; J'ai utilisé la version 2.25.0 de sélénium-java et la version 18.0.2 de Firefox; J'ai changé la version de selenium-java en 2.30.0 et fonctionne maintenant.
la source
Pour résoudre ce problème, utilisez les nouveaux fichiers jar disponibles sur http://docs.seleniumhq.org/download/ . Comme pour java, C #, php etc ... Firefox 27.0.1 nécessite 2.39.0 de la version du pilote.
la source
Installez simplement Xvnc Plugin dans Jenkins. Le problème doit être résolu.
la source
J'ai eu la même erreur "selenium_Unable to connect to host 127.0.0.1 sur le port 7055" Solution: j'ai utilisé selenium-java-2.48.2 avec Firefox version 43.0.1 et maintenant ça marche bien.
la source
Moi aussi j'ai eu le même problème mais le problème est résolu après la rétrogradation de la version de Firefox à 35.0.1 et ma version de sélénium est 2.43
la source
J'ai eu exactement le même problème lors de l'exécution de docker mais j'ai trouvé la solution dans le journal précédant l'erreur que vous avez mentionnée.
J'ai suivi les conseils et le problème a été réglé.
la source
C'est ainsi que cela se comporte lorsque j'utilise la propriété statique d'IWebDriver et que je l'appelle à partir de plusieurs méthodes de test.
Comme
Solution
Pour chaque méthode de test appelante, créez une nouvelle instance de Driver
la source
Mettez à jour les pots de sélénium si notre script de sélénium ne s'exécute pas. Actuellement, j'utilise selenium-java-2.43.0-srcs
Maintenant ça fonctionne bien
la source
Cela se produit sur différentes versions de ff. J'utilise la dernière version 39 de FF en utilisant selenium-server-standalone-2.41.0.jar et selenium-java-2.41.0.zip qui montre la même erreur.
Obtenez les derniers fichiers jar serveur et client ici pour la compatibilité que j'ai utilisée respectivement avec les versions serveur et client 2.47.0 et 2.47.1. Et Boom! Ça a marché.
la source
Cela se produit à cause des anciennes versions. Mettez simplement à jour le navigateur vers la dernière version et mettez à jour le package selenium webdriver vers la dernière version.
la source
Redémarrez simplement le terminal. Terminal est pendu rien d'autre. Tout fonctionnera bien après ça
la source
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 du bambou.
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é.
la source
Sous Windows: vérifiez également le "bitness" de votre Firefox. Firefox 43.0.1 64 bits ne fonctionne pas avec Selenium 2.50.0. Fonctionne bien avec Firefox 43.0.1 32 bits ...
la source
Moi aussi , je suis coincé à cette erreur pendant trois jours et finalement pensé qu'il out.You peut voir la réponse que j'ai donné ici .C'est problème de compatibilité du serveur navigateur et le sélénium. J'espère que cela vous aidera.Vous pouvez vérifier la compatibilité du navigateur à partir de ce lien
la source
J'ai eu le même problème aujourd'hui. Pour réparer, j'ai rétrogradé la version 51 de Firefox à 47 et cela fonctionne.
Remarque: j'utilise un Linux Ubuntu Mate, dans une boîte virtuelle, l'hôte étant un autre Ubuntu Mate. Tous les OS sont 64 bits et Firefox également.
la source
Installé Firefox Setup 18.0.exe cela fonctionne pour moi
la source
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.
la source
Je pense que cela pourrait être un problème d'affichage. Si vous n'avez pas d'interface graphique dans la boîte, le lancement de Firefox à partir de sélénium 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. Ensuite, exécutez votre test depuis jenkins avecxvfv-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 à l'aide du pilote Web sélénium.la source
Solution -
1) Mettez à niveau votre serveur Selenium, c'est-à-dire le pot de sélénium "selenium-server-standalone-2.xx.x.JAR" TO "selenium-server-standalone-2.45.0.JAR"
2) Mettez à niveau votre pilote client Selenium, c'est-à-dire le dossier sélénium libs "selenium-java-2.xx.x" TO "selenium-java-2.45.0"
3) Vérifiez et installez la version compatible de Firefox
Refer - Télécharger les libs et jar de sélénium mis à jour ie version 2.45.0
Cela résoudra votre problème .. Cheers !!
la source