Question

Quelle est la meilleure façon d'activer Firebug dans Firefox lors de l'exécution Sélénium 2?

Edit: Ok, je me rends compte « meilleur » est ouvert à l'interprétation, mais la solution à base de profils vraiment utilisé comme une douleur avec le sélénium 1.0. Donc, toute alternative est considéré comme meilleur que le pire prouvé;)

Était-ce utile?

La solution

Vous pouvez créer votre profil dans le code et ajouter dynamiquement des add-ons nécessaires. Supposons que vous avez enregistré Firebug XPI dans le répertoire C: \ FF_Profile dossier que firebug.xpi (allez à Firebug page de téléchargement , un clic droit sur le bouton "Ajouter à Firefox" et enregistrer en tant que C:. \ FF_Profile \ firebug.xpi)

Dans le code:

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

Ceci est décrit dans FAQ WebDriver

Autres conseils

Voulez-vous dire Firebug installé dans l'instance du navigateur que les lancements de WebDriver? Si oui, vous pouvez passer une extension lorsque vous instancier le conducteur, mais la eaisest façon est de créer un profil Firefox avec Firebug installé puis utilisez le code suivant avant instanciation du pilote:

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

Il suffit de référence de votre profil par nom. Exemple en Ruby:

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

Ensuite, chargez Firefox normalement et ajoutez vos extensions souhaitées. Ils montreront maintenant dans vos séries de tests Selenium.

Apparemment, la façon dont les options firefox-profil sont consommés a changé en Sélénium WebDriver.

L'ancien commandline (Selenium RC):

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

Mise à jour pour WebDriver: (note qu'il souhaite que le profil nom plutôt que le répertoire)

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

modifier votre position Firefox à quelque chose comme C: \ nom d'utilisateur de l'utilisateur \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ sgmqi7hy.default lancez votre Firefox à partir de sélénium / WebDriver faire tous les paramètres requis fermez puis redémarrez le navigateur Firefox de sélénium / WebDriver qu'il est, cela résout votre problème !!

J'ai trouvé un profiles.ini dans ~ / .mozialla / firefox /. Dans il y avait un profil par défaut du nom, que je spécifié un comme suit puis Firefox a été ouverte dans le test comme je l'ai ouvert régulièrement (avec tous les plugins, etc).

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

Si aucune de l'option ci-dessus fonctionne. Ensuite, essayez ceci.

  • 1) Ouvrez le terminal et le type ci-dessous commande (fermer tous les firefox existants sessions d'abord)

firefox

  • 2) Cela ouvrira une option pour créer un nouveau profil Firefox.
  • 3) Créer un profil permet de dire "SELENIUM".
  • 4) Une fois que Firefox est ouvert loin installer directement Firebug ou tout d'autres plug-ins extension que vous voulez. une fois fait fermer la fenêtre.
  • 5) charger maintenant ce nouveau profil via le sélénium, l'utilisation ci-dessous java déclarations.

    profil ProfilesIni = new ProfilesIni ();

    FirefoxProfile ffprofile = profile.getProfile ( "sélénium");

    WebDriver driver = nouveau FirefoxDriver (ffprofile);

  • 6) Terminé. Profitez.

J'ai observé que le Firebug ajoute au navigateur et il est désactivé par défaut et non activé, quand j'ajouter à Firefox Firebug lors de l'exécution en utilisant WebDriver. Donc, pour faire de lui permettre, nous devrons peut-être ajouter la ligne ci-dessous au profil.

profile.setEnableNativeEvents(true);

En supposant que, Firebug est installé. Votre objectif est d'exécuter Firebug. Firebug peut être exécuté / exécuter en appuyant sur la touche F12. Alors Firebug peut être exécuté en suivant la commande de Sélénium WebDriver avec Java:

Actions action = new Actions(driver);
action.sendKeys(Keys.F12).build().perform();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top