lundi 17 janvier 2011

Selenium 2 Webdriver rajouter des plugins à firefox

Selenium est un projet open source qui permet de contrôler des navigateurs (Firefox, IE, Chrome, ...).
Par exemple on peut lui dire :
  - tu ouvres l'url : http://google.fr
  - tu saisies le texte : 'bla bla' dans le champs de recherche
  - tu cliques sur le boutons 'Rechercher'
  - tu attends le chargement de la page
  - puis tu vérifies la présence d'un texte.

Actuellement Selenium et Webdriver de google sont en train de fusionner pour donner naissance à Selenium2. Actuellement nous sommes à la première version beta.

Selenium2 propose pas mal d'améliorations par rapport à Selenium 1. De tête je peux citer :
   - le support des navigateurs Iphone, Android
   - un meilleur support des navigateurs Chrome, Firefox et IE
   - la possibilité de simuler un navigateur avec HTML Unit (toujours plus rapide que de lancer un Firefox)
   - et également la possibilité de rajouter des plugins et de configurer facilement le navigateur ( about: config sous Firefox)

Voici un exemple issue d'un projet open source qui rajoute à firefox le plugin firebug et qui désactive le cache de firefox.


private static FirefoxProfile tweakProfile(FirefoxProfile profile) 
{
  try {
/* Load Firebug plugin */
  profile.addExtension(FirefoxProfile.class, "/firebug-1.5.4.xpi");
  /* Disable the cache of Firefox */
  profile.setPreference("browser.cache.disk.enable", false);
  profile.setPreference("browser.cache.memory.enable", false);
  profile.setPreference("browser.cache.offline.enable", false);
  profile.setPreference("network.http.use-cache", false);
} catch (IOException e) {
throw new RuntimeException("Could not load required extensions,
something is wrong", e);
}
return profile;
}
Voir les sources : HTML to HAR
La commande ci dessous permet de rajouter des plugins à Firefox :
profile.addExtension(FirefoxProfile.class, "/firebug-1.5.4.xpi"); 


Et cette commande là permet de modifier les préférences de firefox (équivalent à un about:config ) : 
profile.setPreference("browser.cache.disk.enable", false);

2 commentaires:

  1. bonjour,
    je souhaite utiliser SELENIUM pour automatiser le test de défilement de pages intranet en GWT.
    Quelqu'un pourrait-il m'indiquer s'il faut ajouter des librairies à SELENIUM IDE 1.1.0 ?
    Si oui, comment puis-je y avoir accès ?
    Merci.
    Salutations.
    MM

    RépondreSupprimer
  2. Selenium IDE fonctionne très bien tout seul (sans librairies externes).

    RépondreSupprimer