2

Ich habe einige schnelle Tests mit WebDriver ausgeführt. Ich führte die FirefoxWebDriver und die ChromeWebDriver; geckodriver-v0.10.0-win64.zip und chromedriver_win32.zip.Fehler beim Starten von Firefox 41 mit Geckodriver mit Selenium 3.0.0-beta3

Sie werden in einen Pfad extrahiert und entsprechend umbenannt. wires.exe bzw. chromedriver.exe.

Wenn ich meinen Test erstellt, tat wie folgt:

DesiredCapabilities cap = DesiredCapabilities.firefox(); 
cap.setCapability("marionette", true); 
WebDriver driver = new FirefoxDriver(cap); 

//WebDriver driver = new ChromeDriver(DeesiredCapabilities.chrome()); 

und für Firefox, es versäumt, eine Sitzung (und es versäumt, die Tests), wo-wie Chrom gelungen und dann bestanden die Tests zu erstellen.

Die Ausgabe aus dem Test ist wie folgt:

Sep 28, 2016 2:51:32 PM org.openqa.selenium.remote.ProtocolHandshake createSession 
 
INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end 
 
Sep 28, 2016 2:51:38 PM org.openqa.selenium.remote.ProtocolHandshake createSession 
 
INFO: Falling back to straight W3C remote end connection 
 
Sep 28, 2016 2:51:44 PM org.openqa.selenium.remote.ProtocolHandshake createSession 
 
INFO: Falling back to original OSS JSON Wire Protocol. 
 

 
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. 
 
Build info: version: 'unknown', revision: 'c7b525d', time: '2016-09-01 14:57:44 -0700' 
 
System info: host: 'CHI-CS-55DXX52', ip: '10.60.68.15', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_77' 
 
Driver info: driver.version: FirefoxDriver 
 

 
\t at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:618) 
 
\t at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:242) 
 
\t at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:129) 
 
\t at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:231) 
 
\t at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:219) 
 
\t at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:214) 
 
\t at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:131) 
 
\t at com.polymerdart.webdriver.MyFirstTest.startWebDriver(MyFirstTest.java:21) 
 
\t at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
 
\t at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
 
\t at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
 
\t at java.lang.reflect.Method.invoke(Method.java:498) 
 
\t at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) 
 
\t at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
 
\t at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) 
 
\t at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) 
 
\t at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 
 
\t at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 
 
\t at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 
 
\t at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
 
\t at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
 
\t at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
 
\t at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
 
\t at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
 
\t at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
 
\t at org.junit.runner.JUnitCore.run(JUnitCore.java:137) 
 
\t at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117) 
 
\t at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42) 
 
\t at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262) 
 
\t at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84) 
 
\t at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
 
\t at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
 
\t at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
 
\t at java.lang.reflect.Method.invoke(Method.java:498) 
 
\t at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 
 
Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{marionette=true, browserName=firefox, version=, platform=ANY}], required capabilities = Capabilities [{}] 
 
Build info: version: 'unknown', revision: 'c7b525d', time: '2016-09-01 14:57:44 -0700' 
 
System info: host: 'CHI-CS-55DXX52', ip: '10.60.68.15', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_77' 
 
Driver info: driver.version: FirefoxDriver 
 
\t at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:80) 
 
\t at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141) 
 
\t at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) 
 
\t at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:597) 
 
\t ... 34 more

ich Firefox Öffnung tun sehen, aber es funktioniert nicht nur die Sitzung und die schließt zu erstellen. Ich laufe gerade auf diesem Rechner Firefox version 41.0

+0

Versuchen als 'WebDriver Treiber = new MarionetteDriver (Cap);' statt und mich –

+0

wissen lassen @ SaurabhGaur Es sagt "Unerreichbare Browser-Ausnahme" Vielleicht liegt das daran, dass ich den Dateinamen des aktualisierten Firefox von Gecko auf Drähte aktualisiert habe. Als eine Randnotiz sagt IntelliJ, dass der MarionetteDriver entzogen ist. – Fallenreaper

+0

Welche Version von Selen und Firefox verwenden Sie? –

Antwort

4

Dies ist das Unfähigkeitsproblem zwischen Selenium3 und Mozilla Firefox Version.

Eigentlich unterstützt Selenium3 ausführbare geckodriverMozilla Firefox wie andere Fahrer starten jetzt aber ausführbare geckodriver kompatibel mit Mozilla Firefox >= v47, das ist, warum Sie in Schwierigkeiten.

Es gibt zwei Arbeits um von diesem Problem loszuwerden: -

  • Herunterstufung Ihre Selen Version Selenium2 auch.

  • Rüsten Sie Ihren Mozilla Firefox >= v47 auch und versuchen, mit Selenium3 und startet FirefoxDriver wie folgt: -

    //Set system property with downloaded executable geckodriver from your system location 
    
    DesiredCapabilities cap = DesiredCapabilities.firefox(); 
    cap.setCapability("marionette", true); 
    WebDriver driver = new FirefoxDriver(cap); 
    
+1

Wenn ich Tests jetzt tue, wird es ohne 'DesiredCapabilities.firefox()' für mich fehlschlagen. Nur damit du es weißt. Ich habe es dort drin behalten. – Fallenreaper

+0

Ok, ich habe die Antwort auch aktualisiert. Danke .. :) –

+1

Es funktioniert auch direkt 'System.setProperty (" webdriver.gecko.driver "," Pfad von geckodriver.exe "); WebDriver-Treiber = neuer FirefoxDriver(); ' –

Verwandte Themen