Pregunta

¿Cuál es la mejor manera de activar Firebug en Firefox cuando se ejecuta Selenio 2?

Edit: Ok, soy consciente de la "mejor" está abierto a la interpretación, pero la solución basada en el perfil realmente solía ser un dolor con el selenio 1.0. Por lo que cualquier alternativa se considera mejor hasta que se demuestre peor;)

¿Fue útil?

Solución

Se puede crear su perfil en el código y añadir dinámicamente los complementos necesarios. Vamos a suponer que guardó Firebug XPI en el directorio C: FF_Profile carpeta \ como firebug.xpi (vaya a Firebug página de descarga , haga clic en "Añadir a Firefox" y guardar como C: \. FF_Profile \ firebug.xpi)

En el 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

Otros consejos

Qué quiere decir haber Firebug instalado en la instancia del navegador que inicia 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");

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

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

A continuación, cargar Firefox normalmente, y añadir sus extensiones deseadas. Ahora se mostrarán en sus pruebas de funcionamiento de selenio.

Al parecer, la forma en que las opciones de Firefox perfil se consumen ha cambiado en selenio WebDriver.

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

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

Actualización de WebDriver: (nota que quiere que el perfil Nombre en lugar del directorio)

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

modificar su ubicación Firefox a algo así como C: \ Users \ nombre de usuario \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ sgmqi7hy.default poner en marcha su Firefox de selenio / WebDriver hacer todos los ajustes requeridos Cerrar y reiniciar el navegador Firefox de selenio / WebDriver eso es todo, que resuelve su problema !!

He encontrado un profiles.ini en ~ / .mozialla / firefox /. En hubo un perfil con el nombre por defecto, que he especificado una como la siguiente y luego Firefox se abrió en la prueba al igual que lo abrí con regularidad (con todos los plugins, etc.).

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

Si nada de lo anterior funciona opción. A continuación, intente esto.

  • 1) Abrir el terminal y el tipo de comando de abajo (cerca de todos los existentes Firefox sesiones primero)

firefox -p

  • 2) Se abrirá una opción para crear un nuevo perfil de Firefox.
  • 3) Crear un perfil permite decir "Selenio".
  • 4) Una vez que el Firefox está abierto enseguida instalar Firebug o cualquier otra extensión plugins que desea. Una vez hecho esto cerca de la ventana.
  • 5) Ahora carga este nuevo perfil a través de selenio, el uso por debajo de java declaraciones.

    perfil ProfilesIni = new ProfilesIni ();

    FirefoxProfile ffprofile = profile.getProfile ( "SELENIO");

    WebDriver driver = nuevo FirefoxDriver (ffprofile);

  • 6) Listo. Disfrutar.

He observado que el incendiario es la adición al navegador y que está deshabilitado por defecto y no se activa, cuando agrego Firebug para Firefox en tiempo de ejecución mediante el uso de WebDriver. Así que para hacerlo permiten que puede ser necesario añadir la siguiente línea para su perfil.

profile.setEnableNativeEvents(true);

Si se asume que, Firebug está instalado. Su objetivo es ejecutar Firebug. Firebug se puede ejecutar / ejecutar pulsando 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();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top