2012-05-14 14 views
9

Estoy usando Capybara selenium en mi proyecto Rails (en un sistema Ubuntu 10.04) y acabo de actualizar Firefox ahora cuando estoy ejecutando mis pruebas cargas de firefox pero ahora tiene todos los complementos instalados y espera hasta que configuro cada uno por primera vez.Cómo desactivo los complementos en firefox cuando uso selenio

¿Hay alguna manera de deshabilitar todos estos complementos al iniciar el selenio?

O

¿Hay una manera de configurar todos mis complementos y guardar la configuración de modo que no me pedirá cada vez que las pruebas se corrieron?

actualización

Si lo cambio a utilizar cromo funciona bien con eso.

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

Capybara.javascript_driver = :selenium 

Sin embargo, me gustaría hacer las pruebas con firefox. He fijado un perfil de 'prueba' en Firefox y trató de usarlo con lo siguiente:

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

Capybara.default_driver = :selenium_firefox_custom 

los cuales no funcionaba, todavía trató de cargar perfil predeterminado.

Estoy usando la versión git de 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) 

También he intentado usar Capybara.javascript_driver =: selenium_firefox_custom

+0

¿Esto se debe a las actualizaciones automáticas? Esto se puede establecer en la pestaña Avanzado en Actualizar. Si está configurado para el primer uso, me imagino que solo tendrías que hacerlo una vez. ¿O estás usando una VM con un estado inicial? Si no, no estoy seguro! ¡Lo siento! – Nashibukasan

+0

Es la configuración de los complementos para el primer uso.Sin embargo, si los configuro cuando el selenio cierra el navegador, todos mis ajustes se olvidan y tengo que volver a hacerlo. – map7

+0

¿Quiere desactivar la verificación de compatibilidad del complemento al iniciar el navegador? –

Respuesta

3

intentar usar un perfil personalizado, y nombrarlo como usted quiera:

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

Capybara.default_driver = :selenium_firefox_custom 

Dependiendo de la versión que esté utilizando, la API puede haber cambiado, pero prácticamente esto es lo que debe hacer.

+0

Al usar las pruebas de javascript con 'js: true' no se escucha este register_driver, ¿hay alguna forma de evitar esto? – map7

+0

Simplemente use 'javascript_driver' en su lugar. –

0

Como yo no uso Ubuntu sólo puedo sugerir que mi solución de Windows. Creo que es una forma adecuada de usar un segundo perfil de Firefox sin complementos para ejecutar pruebas de selenio.

En Windows que se puede lograr al alimentar "firefox.exe -ProfileManager -no-remote" a Windows Run.

Una forma no probada para Ubuntu sería [Alt] + [F2] y firefox -ProfileManager. Es importante cerrar todas las ventanas de Firefox y tal vez matar todavía procesos existentes antes

+0

Ok, hice un perfil de 'prueba' en firefox y deshabilité todos mis complementos. ¿Cómo le digo a mi plugin rails para el selenio que use el perfil 'prueba' para Firefox? – map7

+0

La respuesta está en mi publicación. :) –

4

Si no desea crear un perfil que usted tiene que mantener (por ejemplo: el registro de control de origen, etc.), se puede crear el perfil sobre la marcha de la siguiente manera:

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 

Eso creará un perfil sobre la marcha que no actualizará la versión del navegador o las extensiones. ¡Espero que ayude!

Cuestiones relacionadas