2010-08-06 16 views
26

Jaki jest najlepszy sposób na aktywację Firebuga w Firefoksie podczas pracy z Selenium 2?Jak uruchomić Firebug w Selenium WebDriver (Selenium 2)?

Edit: Ok, rozumiem „najlepsze” jest otwarta na interpretację, ale rozwiązanie oparte profil naprawdę kiedyś ból selenem 1.0. Więc każda alternatywa jest uważana za lepszą, dopóki nie zostanie udowodniona gorzej;)

Odpowiedz

47

Można utwórz swój profil w kodzie i dynamicznie dodawaj wymagane dodatki. Załóżmy, że zapisałeś Firebug XPI w folderze C: \ FF_Profile jako firebug.xpi (przejdź do Firebug download page, kliknij prawym przyciskiem myszy "Dodaj do Firefoxa" i zapisz jako C: \ FF_Profile \ firebug.xpi).

W kodzie:

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); 

Jest to opisane w WebDriver FAQ

+1

Twój exmple jest nieco lepszy niż faq, dzięki! – krosenvold

+0

To jest całkowicie niesamowite +100, gdybym mógł. Sprawia, że ​​migracja do selenu 2 jest warta sama w sobie. – krosenvold

+0

Selenium2 ma wiele rzeczy, które pochłaniają czas poświęcony na migrację. Osobiście odkryłem, że wzór Page Objects jest bardzo wygodny i znacznie ułatwia testowanie aplikacji internetowych dynamicznych/AJAX. Tak naprawdę jestem zakochany w WebDriver :) –

10

Czy masz na myśli zainstalowanie firebuga w instancji przeglądarki, w której uruchamia się webdriver? Jeśli tak, można przekazać rozszerzenie podczas wystąpienia kierowcę, ale eaisest sposobem jest utworzenie profilu Firefoksa z zainstalowanym Firebug, a następnie użyć następującego kodu przed instancję sterownik:

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

+0

To jest mniej więcej tak, jak zostało to zrobione w wersji 1.0 i zawsze było kłopotem, gdy firefox został uaktualniony. Naprawdę chciałbym przekazać rozszerzenie ... – krosenvold

1

Wystarczy odwołać swój profil według nazwy. Przykład w języku Ruby:

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

Następnie załaduj Firefox normalnie i dodaj żądane rozszerzenia. Będą teraz wyświetlane w testach Selenium.

1

Wygląda na to, że sposób korzystania z opcji profilu firefox zmienił się w Selenium WebDriver.

Stary poleceń (Selen RC):

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

Aktualizacja dla WebDriver: (zauważ, że chce nazwę profil zamiast katalogu)

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

Zakładając, że Firebug jest zainstalowany. Twoim celem jest uruchomienie Firebug. Firebug można uruchomić/uruchomić, naciskając klawisz F12. Więc Firebug może być uruchamiany przez następujące polecenie selenu WebDriver z Java:

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

modyfikować swoją lokalizację firefox do czegoś jak C: \ Users \ nazwa-użytkownika \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ sgmqi7hy. domyślnie uruchom swój firefox od selenu/webdrivera zmień wszystkie wymagane ustawienia zamknij i zrestartuj przeglądarkę firefox od selenu/webdrivera to wszystko, rozwiązuje twój problem !!

0

Znalazłem profile.ini w ~/.mozialla/firefox /. Był tam profil o nazwie default, który określiłem w następujący sposób, a następnie firefox został otwarty w teście, tak jak otwieram go regularnie (ze wszystkimi wtyczkami itp.).

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

Jeśli żadna z powyższych opcji nie działa. Spróbuj tego.

  • 1) Otwórz terminal i wpisz poniżej polecenia (zamknąć wszystkie istniejące firefox sesje pierwsze)

firefox -p

  • 2) To otwiera możliwość utworzenia nowego Firefoksa profil.
  • 3) Utwórz profil, powiedz "SELENIUM".
  • 4) Po otwarciu firefox od razu zainstaluj firebuga lub dowolne inne rozszerzenie wtyczki , które chcesz. raz zrobione zamknij okno.
  • 5) Teraz załaduj ten nowy profil przez selen, użyj poniższych instrukcji java .

    ProfilesIni profile = new ProfilesIni();

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

    Sterownik WebDriver = nowy FirefoxDriver (ffprofile);

  • 6) Gotowe. Cieszyć się.

0

Zauważyłem, że Firebug jest dodanie do przeglądarki i jest ona domyślnie wyłączona i nie jest włączona, kiedy dodatek Firebug Firefox przy starcie za pomocą webdriver. Aby było to możliwe, możemy dodać poniższą linię do profilu.

profile.setEnableNativeEvents(true);