2012-05-14 7 views
9

Uso il selenio Capybara nel mio progetto Rails (su un sistema Ubuntu 10.04) e ho appena aggiornato firefox ora quando eseguo i miei test carichi di Firefox ma ora ha tutti i componenti aggiuntivi installati e aspetta fino a quando non li ho impostati per la prima volta.Come disattivare i componenti aggiuntivi in ​​firefox quando si usa il selenio

C'è un modo per disattivare tutti questi componenti aggiuntivi all'avvio del selenio?

O

C'è un modo per impostare tutti i miei add-on e salvare le impostazioni in modo che non mi viene chiesto ogni volta che le prove sono corse?

Aggiornamento

Se cambio sopra ad utilizzare Chrome funziona bene con quello.

Capybara.register_driver :selenium do |app| 
    Capybara::Selenium::Driver.new(app, :browser => :chrome) 
end 

Capybara.javascript_driver = :selenium 

Mi piacerebbe fare i test con Firefox però. Ho installato un 'test' profilo su Firefox ed ho provato ad usarlo con il seguente:

Capybara.register_driver :selenium_firefox_custom do |app| 
    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => "test") 
end 

Capybara.default_driver = :selenium_firefox_custom 

che non ha funzionato, ancora ha cercato di caricare il mio profilo predefinito.

Sto usando la versione git di capybara;

capybara (1.1.2) 
    mime-types (>= 1.16) 
    nokogiri (>= 1.3.3) 
    rack (>= 1.0.0) 
    rack-test (>= 0.5.4) 
    selenium-webdriver (~> 2.0) 
    xpath (~> 0.1.4) 

Ho anche provato con Capybara.javascript_driver =: selenium_firefox_custom

+0

Ciò è dovuto ad aggiornamenti automatici? Questo può essere impostato nella scheda Avanzate in Aggiornamento. Se è impostato per il primo utilizzo, immagino che dovresti farlo solo una volta? O stai usando una VM con uno stato iniziale? In caso contrario, non sono sicuro! Scusate! – Nashibukasan

+0

È la configurazione dei plug-in per il primo utilizzo.Se li installo però quando il selenio chiude il browser tutte le mie impostazioni sono dimenticate e devo rifarlo. – map7

+0

Vuoi solo disabilitare il controllo di compatibilità del componente aggiuntivo all'avvio del browser? –

risposta

3

provare a utilizzare un profilo personalizzato, e la denominazione che più vi piace:

Capybara.register_driver :selenium_firefox_custom do |app| 
    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => "custom") 
end 

Capybara.default_driver = :selenium_firefox_custom 

A seconda della versione che stai utilizzando, l'API potrebbe essere cambiata, ma questo è ciò che devi fare.

+0

Quando si utilizza javascript test con 'js: true' non ascolta a questo register_driver, c'è un modo per aggirare questo? – map7

+0

Usa invece 'javascript_driver'. –

0

Come io non uso Ubuntu Posso solo suggerire la mia soluzione di Windows. Penso che sia un modo corretto di utilizzare un secondo profilo Firefox senza plug-in per eseguire test di selenio.

In Windows che può essere ottenuto alimentando "firefox.exe -ProfileManager -no-remote" a Windows Run.

Un modo non verificato per Ubuntu sarebbe [Alt] + [F2] e firefox -ProfileManager. E 'importante chiudere tutte Firefox di Windows e forse uccidere ancora processi esistenti prima

+0

Ok, ho creato un profilo di 'test' in firefox e disabilitato tutti i miei add-on. Come faccio a dire al mio rails plugin per il selenio di usare il profilo 'test' per Firefox? – map7

+0

La risposta è nel mio post. :) –

4

Se non si desidera creare un profilo che si deve mantenere (per esempio: il check-in al controllo del codice sorgente, ecc), è possibile creare il profilo al volo come segue:

Capybara.register_driver :selenium_firefox do |app| 
    profile = Selenium::WebDriver::Firefox::Profile.new 
    profile["extensions.update.enabled"] = false 
    profile["app.update.enabled"] = false 
    profile["app.update.auto"] = false 
    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile) 
end 

Capybara.default_driver = :selenium_firefox 

Quello creerà un profilo al volo che non aggiornerà la versione del browser o le estensioni. Spero possa aiutare!

Problemi correlati