J'essaie d'exécuter un cas de test Junit que j'ai exporté à partir de Selenium IDE. J'obtiens au-dessus d'une exception. J'utilise Windows XP, Firefox 20.0.1 et Selenium-server-standalone-2.28.0.jar. Une fois la fenêtre exécutée, une fenêtre Firefox vierge s'ouvre. Quand je ferme cette fenêtre, je reçois une exception ci-dessous dans la console.
org.openqa.Selenium.firefox.NotConnectedException: Unable to connect to Host 127.0.0.1 on port 7055 after 45000 ms at
org.openqa.Selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.Java:96)
at org.openqa.Selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.Java:142)
at org.openqa.Selenium.remote.RemoteWebDriver.(RemoteWebDriver.Java:80)
at org.openqa.Selenium.firefox.FirefoxDriver.(FirefoxDriver.Java:121)
at org.openqa.Selenium.firefox.FirefoxDriver.(FirefoxDriver.Java:77)
at com.dci.dids.Selenium.SwamiRoleCreationTestCase.setUp(SwamiRoleCreationTestCase.Java:20)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.Java:74)
at org.junit.internal.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.Java:50)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.Java:33)
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.Java:75)
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.Java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.Java:66)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.Java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.Java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.Java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.Java:52)
at org.Eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.Java:50)
at org.Eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.Java:38)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.Java:467)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.Java:683)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.Java:390)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.Java:197)
Cette exception dans la trace d'échec JUnit
org.openqa.Selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows: * LOG addons.xpi: startup LOG addons.xpi: Ignoring file entry whose name is not a valid add-on ID:
/tmp/anonymous5690381165464188533webdriver-profile/extensions/webdriver-staging LOG addons.xpi: checkForChanges * LOG addons.xpi: No changes found
System info: os.name: 'Linux', os.Arch: 'i386', os.version: '3.2.0-23-generic-pae', Java.version: '1.6.0_38' Driver info: driver.version:
FirefoxDriver at org.openqa.Selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.Java:108)
at org.openqa.Selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.Java:142)
at org.openqa.Selenium.remote.RemoteWebDriver.(RemoteWebDriver.Java:80)
at org.openqa.Selenium.firefox.FirefoxDriver.(FirefoxDriver.Java:121)
at org.openqa.Selenium.firefox.FirefoxDriver.(FirefoxDriver.Java:77)
at com.dci.dids.Selenium.SwamiRoleCreationTestCase.setUp(SwamiRoleCreationTestCase.Java:20)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.Java:74)
at org.junit.internal.runners.BeforeAndAfterRunner.runBefores(BeforeAndAfterRunner.Java:50)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.Java:33)
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.Java:75)
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.Java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.Java:66)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.Java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.Java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.Java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.Java:52)
at org.Eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.Java:50)
at org.Eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.Java:38)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.Java:467)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.Java:683)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.Java:390)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.Java:197) Caused by: org.openqa.Selenium.firefox.NotConnectedException: Unable to connect to Host 127.0.0.1 on port 7055 after 45000 ms at org.openqa.Selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.Java:96) ... 25 more
Java.lang.NullPointerException at com.dci.dids.Selenium.SwamiRoleCreationTestCase.tearDown(SwamiRoleCreationTestCase.Java:47)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.junit.internal.runners.BeforeAndAfterRunner.invokeMethod(BeforeAndAfterRunner.Java:74)
at org.junit.internal.runners.BeforeAndAfterRunner.runAfters(BeforeAndAfterRunner.Java:65)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.Java:37)
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.Java:75)
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.Java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.Java:66)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.Java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.Java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.Java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.Java:52)
at org.Eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.Java:50)
at org.Eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.Java:38)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.Java:467)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.Java:683)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.Java:390)
at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.Java:197)
Votre version de Selenium n'est probablement pas compatible avec votre version de Firefox. Essayez d'installer une version plus ancienne de Firefox.
Avant d'installer une version plus ancienne, allez dans Firefox et désactivez l'option de mise à jour automatique.
Firefox -> Options -> Options -> Avancé -> Mise à jour -> Rechercher les mises à jour, mais laissez-moi choisir de les installer
Allez ici et installez une version plus ancienne. https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
Vous n'avez pas besoin de désinstaller Firefox, installez simplement la version que vous souhaitez installer. Vous devrez peut-être essayer quelques versions jusqu'à ce que vous obteniez la bonne.
Je viens d'avoir ce problème configurer JBehave pour WebDriver en utilisant Maven. J'ai forcé JBehave à utiliser une version supérieure de Selenium de la manière suivante, qui fonctionne pour moi:
<dependency>
<groupId>org.jbehave.web</groupId>
<artifactId>jbehave-web-Selenium</artifactId>
<version>${jbehave.web.version}</version>
<exclusions>
<exclusion>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-Java</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-Java</artifactId>
<version>2.33.0</version>
</dependency>
Aucune des solutions mentionnées ne fonctionnait pour moi. Ce qui a fonctionné pour moi est d’utiliser les dernières versions de Firefox (actuellement 32.0.2) et de Selenium
<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-Java</artifactId>
<version>2.43.1</version>
</dependency>
La version 2.43.1 fonctionnait, pas la 2.42.1.
La mise à jour vers Selenium-server-standalone-2.44.0.jar fonctionne pour moi ( http://www.seleniumhq.org/download/ ).
Il semble que vous ayez besoin d’une combinaison appropriée de navigateur, pilote Selenium et serveur Selenium.
Ubuntu 14.04, Firefox 35.0.1 et Selenium-webdriver 2.44.0 fonctionnent pour moi dans une application Ruby on Rails . Chrome ne fonctionnait plus depuis que je l'ai mis à jour, même avec le dernier pilote publié.
Lorsque la version de WebDriver ne correspond pas à la version de Firefox, le compilateur Java lève cette erreur. Assurez-vous que votre WebDriver et Firefox sont la dernière version.
J'ai eu exactement le même problème, je l'ai résolu en rétrogradant la version de Firefox à 27.0.1