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.
InformationsquelleAutor James | 2011-11-23
Schreibe einen Kommentar