Pour cela j'ai crée une page simple avec un poil de javascript qu'on peut voir ici.
J'ai commencé par WebDriver, c'est un outil qui permet de manipuler un navigateur via du code en Java. Il se charge de manipuler le navigateur directement pour effectuer les actions demandées. (Contrairement à Selenium qui inclue sont propre javascript pour piloter le navigateur au travers de la page)
J'ai été étonné par la simplicité de mise en place de WebDriver, il m'a suffit de télécharger la distribution pour firefox, elle contient les deux ou trois jars nécessaires, d'ajouter ces jars à mon projet eclipse (et oui ce qui est bien en java c'est eclipse) et mon poste était prêt.
Voici un exemple simple qui ouvre la page en question, clique sur "++" et vérifie le changement de valeur :
WebDriver driver = new FirefoxDriver();
driver.get("http://jplessis.free.fr/polopblog/a_tester.html");
WebElement element = driver.findElement(By.name("test_button_inc"));
element.click();
WebElement field = driver.findElement(By.name("test_text"));
assertEquals("1", field.getValue());
Quelques petits problèmes néanmoins :
- Impossible de traverser un proxy nécessitant une authentification
- WebDriver ne sait pas encore gèrer les alertes et confirmations javascript