J'obtiens une erreur lors de l'utilisation de Firefox avec WebDriver.
org.openqa.selenium.firefox.NotConnectedException: Unable to connect
to host 127.0.0.1 on port 7055 after 45000 ms.
- Version de Firefox: 47.0
- Sélénium: 2,53,0
- Windows 10 64 bits
Quelqu'un a-t-il un problème similaire ou une idée de la solution à ce problème? Cela fonctionne bien avec Chrome, mais avec Firefox, aucune des URL ne se charge.
Réponses:
Malheureusement, Selenium WebDriver 2.53.0 n'est pas compatible avec Firefox 47.0. Le composant WebDriver qui gère les navigateurs Firefox (
FirefoxDriver
) sera abandonné. À partir de la version 3.0, Selenium WebDriver aura besoin dugeckodriver
binaire pour gérer les navigateurs Firefox. Plus d'infos ici et ici .Par conséquent, pour utiliser Firefox 47.0 comme navigateur avec Selenium WebDriver 2.53.0, vous devez télécharger le pilote Firefox (qui est un fichier binaire appelé à
geckodriver
partir de la version 0.8.0, et anciennementwires
) et exporter son chemin absolu vers la variablewebdriver.gecko.driver
comme une propriété système dans votre code Java:Heureusement, la bibliothèque WebDriverManager peut faire ce travail pour vous, c'est-à-dire télécharger le binaire Marionette approprié pour votre machine (Linux, Mac ou Windows) et exporter la valeur de la propriété système appropriée. Pour utiliser cette bibliothèque, vous devez inclure cette dépendance dans votre projet:
... puis exécutez cette ligne dans votre programme avant d'utiliser WebDriver:
Un exemple d'exécution complet d'un cas de test JUnit 4 utilisant WebDriver peut être le suivant:
Tenez compte du fait que Marionette sera la seule option pour l'avenir (pour WebDriver 3+ et Firefox 48+), mais actuellement (version 0.9.0 au moment de l'écriture) n'est pas très stable. Jetez un oeil à la feuille de route Marionette pour plus de détails.
METTRE À JOUR
Selenium WebDriver 2.53.1 est sorti le 30 juin 2016.
FirefoxDriver
fonctionne à nouveau avec Firefox 47.0.1 comme navigateur.la source
C:\Windows\system32>netstat -ano | find "7055" TCP 127.0.0.1:2896 127.0.0.1:7055 SYN_SENT 2052
Essayez d'utiliser Firefox 46.0.1. Il correspond le mieux avec Selenium 2.53
la source
J'ai eu le même problème et j'ai découvert que vous devez changer de pilote car le support a été abandonné . Au lieu d'utiliser le pilote Firefox , vous devez utiliser le pilote Marionette pour exécuter vos tests. Je travaille actuellement sur la configuration moi-même et je peux publier des suggestions d'étapes si vous le souhaitez lorsque j'ai un exemple fonctionnel.
Voici les étapes que j'ai suivies pour que cela fonctionne sur mon environnement Java sur Mac (a également fonctionné pour moi dans mes installations Linux (Fedora, CentOS et Ubuntu)):
mkdir -p /opt/marionette
)$PATH
à jour votre pour inclure l'exécutable (également, modifiez-le.bash_profile
si vous le souhaitez)chmod +x /opt/marionette/wires-x.x.x
que c'est exécutableNote rapide
Ne fonctionne toujours pas comme prévu, mais lance au moins le navigateur maintenant. Besoin de comprendre pourquoi - pour le moment, il semble que je doive réécrire mes tests pour que cela fonctionne.
Extrait de code Java
la source
Si vous êtes sur OSX en utilisant Homebrew, vous pouvez installer les anciennes versions de Firefox via brew cask:
Après l'installation, il vous suffira de renommer votre exécutable FF dans le répertoire Applications en "Firefox".
Plus d'informations peuvent être trouvées sur le git repo homebrew-firefox . Accessoires à smclernon pour créer le fût original .
la source
Si vous êtes sur un Mac, faites
brew install geckodriver
et c'est parti!la source
Au cas où quelqu'un se demanderait comment utiliser Marionette en C #.
Remplacer FirefoxOptions pour fournir la fonction permettant d'ajouter des fonctionnalités supplémentaires et de définir le profil Firefox car le sélénium v53 ne fournit pas encore cette fonction.
Remarque: le lancement avec profil ne fonctionne pas avec FF 47, il fonctionne avec FF 50 Nightly.
Cependant, nous avons essayé de convertir notre test pour utiliser Marionette, et ce n'est tout simplement pas viable pour le moment car l'implémentation du pilote n'est pas terminée ou boguée. Je suggérerais aux gens de déclasser leur Firefox en ce moment.
la source
De nouvelles bibliothèques Selenium sont maintenant disponibles, selon: https://github.com/SeleniumHQ/selenium/issues/2110
La page de téléchargement http://www.seleniumhq.org/download/ ne semble pas encore être mise à jour, mais en ajoutant 1 à la version mineure dans le lien, j'ai pu télécharger la version C #: http: // selenium-release. storage.googleapis.com/2.53/selenium-dotnet-2.53.1.zip
Cela fonctionne pour moi avec Firefox 47.0.1.
En remarque, j'ai pu créer uniquement l' extension Firefox webdriver.xpi à partir de la branche principale de GitHub, en exécutant
./go //javascript/firefox-driver:webdriver:run
- ce qui a donné un message d'erreur mais a créé le fichier build / javascript / firefox-driver / webdriver.xpi , que j'ai pourrait renommer (pour éviter un conflit de nom) et charger avec succès avec la méthode FirefoxProfile.AddExtension. C'était une solution de contournement raisonnable sans avoir à reconstruire toute la bibliothèque Selenium.la source
C'est un problème FF47 https://github.com/SeleniumHQ/selenium/issues/2110
Veuillez rétrograder vers FF 46 ou inférieur (ou essayez le développeur FF48 https://developer.mozilla.org/en-US/Firefox/Releases/48 )
Instructions pour rétrograder: https://www.liberiangeek.net/2012/04/how-to-install-previous-versions-of-firefox-in-ubuntu-12-04-precise-pangolin/ Ou si vous êtes sur Mac, comme suggéré par quelqu'un d'autre dans ce fil, utilisez brew.
la source
Firefox 47.0 a cessé de fonctionner avec Webdriver.
La solution la plus simple consiste à passer à Firefox 47.0.1 et Webdriver 2.53.1. Cette combinaison fonctionne à nouveau. En fait, la restauration de la compatibilité de Webdriver était la principale raison derrière la version 47.0.1, selon https://www.mozilla.org/en-US/firefox/47.0.1/releasenotes/ .
la source
Vous pouvez essayer d'utiliser ce code,
J'ai mis à niveau vers le sélénium 3.0.0 et la version Firefox est 49.0.1
Vous pouvez télécharger geckodriver.exe depuis https://github.com/mozilla/geckodriver/releases
Assurez-vous de télécharger uniquement le fichier zip, le fichier geckodriver-v0.11.1-win64.zip ou win32 selon votre système et extrayez-le dans un dossier.
Mettez le chemin de ce dossier dans les guillemets "Votre chemin vers le pilote". N'oubliez pas de mettre geckodriver.exe dans le chemin.
la source
J'ai finalement installé une ancienne version supplémentaire de Firefox (utilisée à des fins de test uniquement) pour résoudre ce problème, en plus de ma dernière installation régulière (sécurisée, à jour) de Firefox.
Cela nécessite que le pilote Web sache où il peut trouver le binaire Firefox, qui peut être défini via la
webdriver.firefox.bin
propriété.Ce qui a fonctionné pour moi (mac, maven, en
/tmp/ff46
tant que dossier d'installation) est:Pour installer une ancienne version de Firefox dans un dossier dédié, créez le dossier, ouvrez le Finder dans ce dossier, téléchargez le dmg Firefox et faites-le glisser vers ce Finder.
la source
Voici à quoi ressemblait le problème dans Wireshar k
Il suffit de charger 2.53.1 et tout fonctionnera.
la source
À partir de septembre 2016
Firefox 48.0
etselenium==2.53.6
fonctionne bien sans aucune erreurPour mettre à jour Firefox
Ubuntu 14.04
uniquementla source
Il me semble que la meilleure solution est de mettre à jour vers Selenium 3.0.0, de télécharger geckodriver.exe et d'utiliser Firefox 47 ou supérieur.
J'ai changé l'initialisation de Firefox en:
la source
Je peux confirmer que cela
selenium 2.53.6
fonctionnefirefox 44
pour moi sur ubuntu 15.la source