Libellés

Affichage des articles dont le libellé est selenium 2. Afficher tous les articles
Affichage des articles dont le libellé est selenium 2. Afficher tous les articles

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

lundi 13 décembre 2010

Selenium 2 Webdriver facile avec Groovy

Voici un script marrant en groovy, qui utilise Selenium 2 WebDriver.

Le script télécharge les librairies Selenium, se connecte sur le site http://www.viedemerde.fr et à l'aide d'un Xpath simple affiche la dernière vie de merde :


#!/usr/bin/groovy

import org.openqa.selenium.remote.*
import org.openqa.selenium.*
import org.openqa.selenium.htmlunit.*;
import com.thoughtworks.selenium.*

/* Télécharge les librairies Selenium */
@Grapes([
    @Grab(group='org.seleniumhq.selenium', module='selenium', version='2.0a7'),
    ])

/* Utilise le navigateur HtmlUnit, mais Firefox, IE, Chrome sont également disponible*/   
WebDriver driver = new HtmlUnitDriver();

/* Se connecte sur le site */
driver.get("http://www.viedemerde.fr/");

/* Récupère la dernière vie de merde */
WebElement element = driver.findElement(By.xpath("//div[@class='post'][2]/p"));

/* Et l'affiche sur la sortie standard */
println(element.getText());


Et maintenant voici comment appeler le script :-)

$ ./vdm.groovy                                                                                                                                                            
Aujourd'hui je dois prendre l'avion pour rentrer chez moi et retrouver toute ma famille qui m'a tellement manqué. Alors que j'ai pris soin de bien programmer mon réveil, celui-ci n'a pas sonné. A... Lire la suite