Come faccio a eseguire Firebug entro Selenio WebDriver (Selenio 2)?
-
26-09-2019 - |
Domanda
Qual è il modo migliore per attivare Firebug in Firefox quando si esegue Selenio 2?
Edit: Ok, mi rendo conto "migliore" è suscettibile di interpretazione, ma la soluzione basata sul profilo davvero era un dolore con il selenio 1.0. Quindi, qualsiasi alternativa è considerato migliore fino a prova peggio;)
Soluzione
È possibile creare il proprio profilo nel codice e aggiungere dinamicamente richiesti componenti aggiuntivi. Supponiamo che si è salvato Firebug XPI nella cartella C: \ FF_Profile cartella come firebug.xpi (vai a Firebug pagina di download , pulsante destro del mouse sul pulsante "Aggiungi a Firefox" e salvare come C:. \ FF_Profile \ firebug.xpi)
Nel codice:
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);
Questo è descritto in WebDriver FAQ
Altri suggerimenti
Vuoi dire aver Firebug installato nella istanza del browser che lancia WebDriver? Se è così, è possibile passare un'estensione quando si crea un'istanza del driver, ma il modo eaisest è quello di creare un profilo di Firefox con Firebug installato e quindi utilizzare il codice riportato di seguito prima di un'istanza del driver:
System.setProperty("webdriver.firefox.profile", "NAME_OF_FIREFOX_PROFILE_WITH_FIREBUG");
Basta riferimento il tuo profilo per nome. Esempio in Ruby:
@driver = Selenium::WebDriver.for :firefox, :profile => "default"
Quindi, caricare Firefox normalmente, e aggiungi le estensioni desiderate. Saranno ora visualizzati nei test viene eseguito selenio.
A quanto pare il modo in cui le opzioni di Firefox profilo vengono consumati è cambiato in selenio WebDriver.
La vecchia linea di comando (Selenio RC):
java -jar selenium-2.28.0.jar -firefoxProfileTemplate ~/.mozilla/firefox/3knu5vz0.selenium
Aggiornamento per WebDriver: (nota che vuole il profilo nome , piuttosto che la directory)
java -jar selenium-2.28.0.jar -Dwebdriver.firefox.profile=selenium
modificare la posizione di Firefox a qualcosa di simile C: \ Users \ nome utente \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ sgmqi7hy.default lanciare il vostro firefox da selenio / WebDriver effettuare tutte le impostazioni necessarie chiudere e riavviare il browser firefox da selenio / WebDriver il gioco è fatto, si risolve il problema !!
Ho trovato un profiles.ini in ~ / .mozialla / firefox /. In c'era un profilo denominato predefinito, che ho specificato un simile alla seguente e quindi Firefox è stato aperto in prova, proprio come ho aperto regolarmente (con tutti i plugin, ecc).
java -jar selenium.jar -Dwebdriver.firefox.profile=default
Se nessuna delle opzioni di cui sopra funziona. Quindi provare questo.
- 1) Aprire terminale e digitate sotto comando (chiudi tutti gli attuali firefox prime sessioni)
firefox -p
- 2) Si aprirà la possibilità di creare un nuovo profilo di Firefox.
- 3) Creare un profilo permette di dire "selenio".
- 4) Una volta che il firefox è aperto subito installare Firebug o qualsiasi altri plug-estensione che si desidera. una volta fatto chiudere la finestra.
-
5) A questo punto caricare questo nuovo profilo tramite il selenio, l'uso di sotto java dichiarazioni.
profilo ProfilesIni = new ProfilesIni ();
FirefoxProfile ffprofile = profile.getProfile ( "SELENIUM");
WebDriver Driver = nuovo FirefoxDriver (ffprofile);
-
6) Fatto. Godetevi.
Ho osservato che il Firebug è l'aggiunta al browser ed è disabilitato per impostazione predefinita e non abilitato, quando aggiungo Firebug per Firefox in fase di esecuzione utilizzando WebDriver. Quindi, per rendere abilitare potremmo avere bisogno di aggiungere il sotto la linea di profilo.
profile.setEnableNativeEvents(true);
Supponendo che, Firebug è installato. Il vostro obiettivo è quello di eseguire Firebug. Firebug può essere eseguito / eseguire premendo il tasto F12. Così Firebug può essere eseguito seguendo il comando di selenio WebDriver con Java:
Actions action = new Actions(driver);
action.sendKeys(Keys.F12).build().perform();