Nicht in der Lage zu finden/öffnen, Firefox-Binary - webdriver/robot framework
Nicht finden/öffnen, Firefox-Binary - webdriver/robot framework
Meine tests laufen problemlos in java und fitnesse. Sie führen auch in Ordnung, wenn Sie ausführt, durch robot framework mit Internet Explorer und Chrome. Allerdings, wenn ich führen Sie durch Firefox, mit der 'neuen FirefoxDriver()', erhalte ich die folgende Fehlermeldung:
DEBUG java.lang.ExceptionInInitializerError
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java: 81)
Caused by: java.lang.NullPointerException
org.openqa.selenium.firefox.FirefoxBinary.<clinit>(FirefoxBinary.java: 42)
... 183 more
In der FirefoxBinary und FirefoxDriver Klassen diese Linien entsprechen dem folgenden code:
FirefoxBinary ln42-43
private static final String PATH_PREFIX = "/" +
FirefoxBinary.class.getPackage().getName().replace(".", "/") + "/";
and FirefoxDriver ln 80-82
public FirefoxDriver(FirefoxProfile profile) {
this(new FirefoxBinary(), profile);
}
Ich habe versucht, den Pfad zum Firefox-binary in mein classpath, pythonpath (verwendet von robotframework) und Pfad. Ich habe auch geschrieben, die folgenden Zeilen von code, um zu versuchen zu erzwingen, das binary zu finden:
System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(FirefoxDriver.BINARY, "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
Ich habe versucht, führen Sie die tests auf zwei Computern, meiner Arbeit und zu Hause-Maschinen. Weiter habe ich versucht, verwenden Sie ein firefox-Profil erstellt mit firefox.exe –p und auch durch die Schaffung eines in der java-code. Ich habe versucht Firefox 6-8. Leider ist keines dieser Dinge gearbeitet haben.
Bin ich auch benutzen/benutzt haben:
Java 1.6
Selen 2.9.0/2.13.0
Windows 7
Ich bin nicht sicher, ob dies ist verwandt, aber als work-around habe ich auch schon versucht zu bekommen, Firefox zu laufen, über eine remote-browser. Ich habe versucht den folgenden code:
rcc = new RemoteControlConfiguration();
rcc.setPort(4447);
rcc.setPortDriversShouldContact(4447);
rcc.setInteractive(true);
rcc.setSingleWindow(true);
rcc.setTimeoutInSeconds(30);
ss = new SeleniumServer(rcc);
ss.start();
DesiredCapabilities cap = new DesiredCapabilities();
cap.setJavascriptEnabled(true);
cap.setBrowserName("firefox");
URL url = new URL ("http://www.google.com/");
driver = new RemoteWebDriver(url,cap);
Allerdings, wenn ich die oben genannten bekomme ich die folgende Fehlermeldung:
Exception in thread "main" org.openqa.selenium.WebDriverException: Error communicating with the remote browser. It may have died.
Build info: version: '2.13.0', revision: '14794', time: '2011-11-18 17:49:47'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0'
Driver info: driver.version: Selenium2Driver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:412)
Hat jemand eine Idee, wie man zu beheben, entweder von meinen Problemen?
Jede Hilfe wäre sehr geschätzt, ich fühle mich sehr fest auf dieses Problem atm. Zwei Tage versucht zu bekommen, Firefox zu arbeiten, wenn Internet Explorer bereits tut..... Es fühlt sich an, als wenn die Welt zu Ende ist.
Dank,
James
BEARBEITEN:1
Ist es möglich für mich zu laufen Firefox selenium-server.
- James, zur info, die URL für RemoteWebDriver scheint falsch im post oben. Sollte so etwas wie "localhost:4444/wd/hub"? Interessant, ich habe das umgekehrte problem mit Web-Treiber, Probleme mit dem starten von Firefox über RemoteWebDriver aber Firefox läuft wunderbar über native FirefoxDriver. IE funktioniert über Fernbedienung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
James, zur info, die URL für RemoteWebDriver scheint falsch im post oben. Sollte so etwas wie "localhost:4444/wd/hub";? Interessant, ich habe das umgekehrte problem mit Web-Treiber, Probleme mit dem starten von Firefox über RemoteWebDriver aber Firefox läuft wunderbar über native FirefoxDriver. IE funktioniert über Fernbedienung. – David Dec 4 '11 at 4:51
Dank David!
Ich bin nicht verstehen, warum Sie nicht konfiguriert, haben Sie Ihren Firefox-binary in Ihrer remote-Netze-Konfiguration.json-Datei? Das ist, wie ich es tun würde. Dann, Ihr DesiredCapabilities Objekt, wäre es nicht notwendig, Sie zu definieren. Ein Hinweis gefunden werden kann hier.
Wenn es funktioniert, die Zeile in der JSON-Datei könnte wie folgt Aussehen:
Ich denke, es nicht zulässt, dass Sie dynamisch festlegen die binären Lage aus dem code, aber vielleicht können Sie versuchen, es auf diese Weise zu beweisen, wenn es funktionieren sollte oder nicht, als ein Schritt der Fehlerbehebung.
versuchen, diese
Diese Art von Problem zu erhalten, da der selenium web driver nicht zu finden, die .exe-Dateien von Firefox. Bitte prüfen Sie, ob C:\Program Files (x86)\Mozilla Firefox haben Sie die exe-Datei in den Speicherort, und vergessen Sie nicht die Umgebungsvariable mit der java-jdk-Pfad.
Quelle:- Lesen [Gelöst Nicht finden können firefox-binary im PFAD Selen][1]http://www.tech4crack.com/solved-cannot-find-firefox-binary-in-path/