2011-02-11 6 views
7

Vorrei acquisire l'output del pannello Net da Firebug mentre si esegue un test tramite WebDriver. Stavo pensando di farlo usando NetExport per scaricare le informazioni in un file har. Come posso attivare Firebug per eseguire l'esportazione mentre viene visualizzata una determinata pagina utilizzando "driver.get()"?Come utilizzare Firebug da Selenium WebDriver

+0

Che lingua stai usando? java, C#, o cosa? –

risposta

4

È necessario l'estensione Firestarter oltre a Firebug e NetExport. Ecco come faccio in 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 

Le API equivalenti sono disponibili in Java. Assicurati che le estensioni siano compatibili tra loro (e la tua versione di Firefox).

Se si utilizza Ruby (o si desidera semplicemente avviare rapidamente un visualizzatore HAR dalla riga di comando), controllare il mio HAR gem per un modo semplice per lavorare con i dati in seguito.

+0

Grazie mille per le tue istruzioni @jarib. Ma non riesco a ottenere FirefoxDriver per aggiungere nessuna delle estensioni. Non vedo più l'estensione "1.7.0a3" (tutta la roba 1.7 si chiama 1.7X.0a? E ho scaricato 1,7X.0a3 e ho impostato la versione sullo stesso). Non ci sono eccezioni generate dal metodo addExtension. Qualcuno ha avuto l'estensione firebug da caricare con successo usando Java? – shanti

+0

Come già detto, gli XPI devono essere compatibili tra loro e la versione corrente di Firefox: solo perché ho usato 1.7 non significa che sia giusto per te. Quindi assicurati che tutto funzioni installandoli prima manualmente. FirefoxProfile.addExtension non genera errori se non sono compatibili (semplicemente copia i file nel posto giusto) e Firefox ignorerà semplicemente le estensioni incompatibili. – jarib

+0

Ho funzionato ora. Ho avuto un errore di battitura in una delle opzioni. Ho anche dovuto aggiungere una sospensione di 3 secondi dopo la chiamata 'driver.get()' per ottenere netexport per salvare il registro. Grazie mille. – shanti

0

Per eseguire Firebug all'interno di selenio WebDriver utilizzando Java:

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