2010-08-06 16 views
26

¿Cuál es la mejor manera de activar Firebug en Firefox al ejecutar Selenium 2?¿Cómo ejecuto Firebug en Selenium WebDriver (Selenium 2)?

Edit: Ok, me doy cuenta de que "lo mejor" está abierto a la interpretación, pero la solución basada en perfiles realmente solía ser un problema con el selenio 1.0. Por lo tanto, cualquier alternativa se considera mejor hasta que empeore;)

Respuesta

47

Puede cree su perfil en el código y agregue dinámicamente los complementos necesarios. Supongamos que guardó Firebug XPI en la carpeta C: \ FF_Profile como firebug.xpi (vaya a Firebug download page, haga clic derecho en "Agregar a Firefox" y guárdelo como C: \ FF_Profile \ firebug.xpi).

En código:

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

Esto se describe en WebDriver FAQ

+1

¡Tu ejemplo es algo mejor que el faq, gracias! – krosenvold

+0

Esto es totalmente increíble +100 si pudiera. Hace que la migración a selenium2 valga la pena por sí solo – krosenvold

+0

Hay muchas cosas que hacen Selenium2 que pagan el tiempo invertido en la migración. Personalmente, encontré que el patrón de Objetos de página es muy conveniente y hace que las pruebas de aplicaciones web dinámicas/AJAX sean mucho más fáciles. Así que estoy realmente enamorado de WebDriver :) –

10

¿Quiere decir tener Firebug instalado en la instancia del navegador que ejecuta webdriver? Si es así, puede pasar una extensión cuando se instancia el conductor, pero la forma en eaisest es crear un perfil de Firefox con Firebug instalado y luego utilizar el código siguiente antes de crear una instancia del controlador:

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

+0

Esto es más o menos la forma en que se hizo en 1.0 y siempre resultó ser una molestia cuando se actualizó Firefox. Realmente me gustaría pasar la extensión ... – krosenvold

1

Sólo referencia a su perfil por su nombre. Ejemplo en Ruby:

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

Luego, cargue Firefox normalmente y agregue las extensiones deseadas. Ahora aparecerán en tus pruebas de Selenium.

1

Aparentemente, la forma en que se consumen las opciones de perfil de firefox ha cambiado en Selenium WebDriver.

La antigua línea de comandos (Selenio RC):

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

actualizado para WebDriver: (tenga en cuenta que quiere que el nombre del perfil lugar del directorio)

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

Suponiendo que, Firebug es instalado Tu objetivo es ejecutar Firebug. Firebug se puede ejecutar/ejecutar presionando la tecla F12. Así Firebug puede ejecutarse siguiendo órdenes de selenio WebDriver con Java:

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

modificar su ubicación Firefox a algo así como C: \ Users \ nombre usuario \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ sgmqi7hy. predeterminado ejecute su firefox desde selenium/webdriver haga que todas las configuraciones requeridas cierre y reinicie el navegador firefox desde selenium/webdriver eso es, ¡resuelve su problema!

0

Encontré un profiles.ini en ~/.mozialla/firefox /. Había un perfil llamado predeterminado, que especifiqué uno como el siguiente y luego Firefox se abrió en la prueba al igual que lo abrí regularmente (con todos los complementos, etc.).

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

Si ninguna de las opciones anteriores funciona. Entonces prueba esto

  • 1) Abrir el terminal y el tipo de comando de abajo (cerrar todas las sesiones existentes Firefox primeros)

firefox -p

  • 2) Se abrirá una opción para crear un nuevo Firefox perfil.
  • 3) Cree un perfil digamos "SELENIUM".
  • 4) Una vez que Firefox esté abierto de inmediato, instale firebug o cualquier otra extensión de complementos que desee. una vez hecho cierre la ventana.
  • 5) Ahora cargue este nuevo perfil a través de selenio, utilice las declaraciones de java siguientes.

    ProfilesIni profile = new ProfilesIni();

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

    WebDriver driver = new FirefoxDriver (ffprofile);

  • 6) Listo. Disfrutar.

0

he observado que el incendiario es la adición al navegador y que está desactivado por defecto y no se activa, cuando agrego Firebug para Firefox en tiempo de ejecución mediante el uso de WebDriver. Para que sea posible, es posible que tengamos que agregar la siguiente línea al perfil.

profile.setEnableNativeEvents(true); 
Cuestiones relacionadas