2010-08-06 14 views
26

Was ist der beste Weg, Firebug in Firefox zu aktivieren, wenn Selenium 2 läuft?Wie starte ich Firebug innerhalb Selenium WebDriver (Selenium 2)?

Edit: Ok, ich realisiere "am besten" ist offen für Interpretation, aber die Profil-basierte Lösung wirklich ein Schmerz mit Selen 1.0. Also wird jede Alternative als besser angesehen, bis sie sich als schlechter herausstellt;)

Antwort

47

können Sie Erstellen Sie Ihr Profil im Code und fügen Sie die erforderlichen Add-Ons dynamisch hinzu. Angenommen, Sie haben Firebug XPI im Ordner C: \ FF_Profile als firebug.xpi gespeichert (gehen Sie zu Firebug download page, klicken Sie mit der rechten Maustaste auf "Add To Firefox" und speichern Sie es als C: \ FF_Profile \ firebug.xpi).

In Code:

final String firebugPath = "C:\\FF_Profile\\firebug.xpi"; 
    FirefoxProfile profile = new FirefoxProfile();  
    profile.addExtension(new File(firebugPath)); 
    // Add more if needed 
    WebDriver driver = new FirefoxDriver(profile); 

Dies ist in WebDriver FAQ beschrieben

+1

Ihr Beispiel ist etwas besser als die FAQ, danke! – krosenvold

+0

Das ist total toll +100 wenn ich könnte. Macht die Migration zu selen2 alleine wert – krosenvold

+0

Es gibt viele Dinge, die Selenium2 auszeichnen, die die Zeit für die Migration auszahlen. Persönlich fand ich, dass das Page Objects-Muster sehr praktisch ist und das Testen von dynamischen/AJAX-Web-Apps viel einfacher macht. Also ich bin wirklich verliebt in WebDriver :) –

10

Meinst du damit, dass Firebug in der Browserinstanz installiert wurde, die der Webdriver startet? Wenn ja, können Sie eine Erweiterung übergeben, wenn Sie den Treiber instanziiert, aber die eaisest Art und Weise ist ein Firefox-Profil mit Firebug erstellen installiert und dann den folgenden Code verwenden, bevor Sie den Treiber instanziiert:

System.setProperty("webdriver.firefox.profile", "NAME_OF_FIREFOX_PROFILE_WITH_FIREBUG");

+0

Dies ist mehr oder weniger die Art, wie es in 1.0 getan wurde und es stellte sich immer heraus, ein Ärger zu sein, wenn firefox aktualisiert wurde. Ich würde wirklich gern die Erweiterung weitergeben ... – krosenvold

1

einfach Ihr Profil mit Namen verweisen. Beispiel in Ruby:

@driver = Selenium::WebDriver.for :firefox, :profile => "default" 

Dann laden Sie Firefox normal, und fügen Sie Ihre gewünschten Erweiterungen hinzu. Sie werden nun in Ihren Selenium-Testläufen angezeigt.

1

Offenbar hat sich der Selenium WebDriver in der Art und Weise geändert, wie die Firefox-Profiloptionen genutzt werden.

Die alte Kommandozeile (Selenium RC):

java -jar selenium-2.28.0.jar -firefoxProfileTemplate ~/.mozilla/firefox/3knu5vz0.selenium 

für WebDriver Aktualisiert: (beachten Sie, dass es das Profil Name anstatt das Verzeichnis will)

java -jar selenium-2.28.0.jar -Dwebdriver.firefox.profile=selenium 
-2

Unter der Annahme, dass Firebug ist Eingerichtet. Ihr Ziel ist es, Firebug zu betreiben. Firebug kann ausgeführt/ausgeführt werden, indem die Taste F12 gedrückt wird.

wie C
Actions action = new Actions(driver); 
action.sendKeys(Keys.F12).build().perform(); 
0

ändern Sie Ihre firefox Lage etwas: So kann Firebug durch folgenden Befehl von Selenium WebDriver mit Java ausgeführt werden \ Benutzer \ Nutzername \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ sgmqi7hy. Standard starten Sie Ihre Firefox von Selen/Webdriver machen Sie alle erforderlichen Einstellungen Schließen und starten Sie Firefox Browser von Selen/Webdriver das ist es, es löst Ihr Problem!

0

Ich habe eine profiles.ini in ~/.mozialla/firefox/gefunden. Darin gab es ein Profil namens default, das ich wie folgt anwählte und dann wurde Firefox im Test geöffnet, genauso wie ich es regelmäßig geöffnet habe (mit allen Plugins etc).

java -jar selenium.jar -Dwebdriver.firefox.profile=default 
0

Wenn keine der oben genannten Optionen funktioniert. Dann versuch es.

  • 1) Öffnen Sie das Terminal und geben Sie folgenden Befehl (schließen alle vorhandenen firefox Sitzungen zuerst)

firefox -p

  • 2) Diese Option öffnet ein neues Firefox zu erstellen Profil.
  • 3) Erstellen Sie ein Profil, sagen wir "SELENIUM".
  • 4) Sobald das Firefox sofort geöffnet ist, installieren Sie Firebug oder andere Plugins Erweiterung, die Sie wollen. wenn du fertig bist, schließe das Fenster.
  • 5) Laden Sie jetzt dieses neue Profil über Selen, verwenden Sie unten java Anweisungen.

    ProfileIni Profil = neue ProfileIni();

    FirefoxProfile ffprofile = profile.getProfile ("SELENIUM");

    WebDriver-Treiber = neuer FirefoxDriver (ffProfile);

  • 6) Fertig. Genießen.

0

Ich habe beobachtet, dass die Firebug-Browser erweitert und es wird standardmäßig aktiviert und nicht aktiviert, deaktiviert, wenn ich durch die Verwendung WebDriver Firebug zu firefox zur Laufzeit hinzufügen. Um es aktivieren zu können, müssen wir möglicherweise die untere Zeile zum Profil hinzufügen.

profile.setEnableNativeEvents(true);