2011-02-11 12 views
7

Chciałbym przechwycić dane wyjściowe panelu Net z Firebug podczas uruchamiania testu przez WebDriver. Myślałem o tym, używając NetExport do zrzucenia informacji do pliku har. Jak mogę aktywować Firebuga, aby eksportować, podczas gdy konkretna strona jest wyświetlana przy użyciu "driver.get()"?Jak prowadzić Firebug z Selenium WebDriver

+0

Jakiego języka używasz? java, C# lub co? –

Odpowiedz

4

Potrzebujesz Firestarter oprócz Firebug i NetExport. Oto, jak to zrobić w Ruby:

profile = Selenium::WebDriver::Firefox::Profile.new 

profile.add_extension "path/to/firebug.xpi" 
profile.add_extension "path/to/fireStarter.xpi" 
profile.add_extension "path/to/netExport.xpi") 

profile['extensions.firebug.currentVersion'] = "1.7.0a3" # avoid 'first run' tab 
profile["extensions.firebug.previousPlacement"] = 1 
profile["extensions.firebug.onByDefault"]  = true 
profile["extensions.firebug.defaultPanelName"] = "net" 
profile["extensions.firebug.net.enableSites"] = true 

profile["extensions.firebug.netexport.defaultLogDir"]   = output_dir 
profile["extensions.firebug.netexport.alwaysEnableAutoExport"] = true 

driver = Selenium::WebDriver.for :firefox, :profile => profile 

Równoważne interfejsy API są dostępne w języku Java. Upewnij się, że rozszerzenia są ze sobą kompatybilne (i twoja wersja Firefoksa).

Jeśli używasz Ruby (lub po prostu chcesz szybko uruchomić przeglądarkę HAR z wiersza poleceń), sprawdź mój HAR gem, aby w łatwy sposób pracować z tymi danymi później.

+0

Dziękuję bardzo za instrukcje @jarib. Ale nie jestem w stanie zmusić FirefoxDrivera do dodania żadnego z rozszerzeń. Nie widzę już rozszerzenia "1.7.0a3" (wszystkie rzeczy 1.7 nazywają się 1.7X.0a? I musiałem pobrać 1.7X.0a3 i ustawić wersję na taką samą). Nie ma też wyjątku zgłaszanego przez metodę addExtension. Czy ktoś ma rozszerzenie firebug do ładowania z powodzeniem przy użyciu Java? – shanti

+0

Jak wspomniano, XPI muszą być kompatybilne ze sobą i aktualną wersją Firefoksa - tylko dlatego, że użyłem 1.7, nie znaczy, że jest to dla ciebie odpowiednie. Dlatego upewnij się, że wszystko działa, najpierw instalując je ręcznie. FirefoxProfile.addExtension nie będzie generował błędów, jeśli są niekompatybilne (po prostu kopiuje pliki we właściwe miejsce), a Firefox po prostu zignoruje niekompatybilne rozszerzenia. – jarib

+0

Mam to teraz działa. Miałem literówkę w jednej z opcji. Musiałem również dodać 3 s snu po wywołaniu driver.get(), aby uzyskać netexport, aby zapisać dziennik. Dziękuję bardzo. – shanti

0

Aby uruchomić Firebug ciągu Selen WebDriver użyciu Java:

Actions action = new Actions(driver); 
action.sendKeys(Keys.F12).build().perform(); 
Powiązane problemy