jeudi 1 octobre 2009

selenium : les utiliser en junit

Voici un petit exemple, de script enregistrer sous Selenium IDE, puis exporter en junit ...

Après c'est simple, il suffit d'exporter l'ensemble en junit, de créer un projet sous eclipse, en ajoutant une jre > 1.5 et télécharger le serveur selenium Remote Control.

Ce dernier nous fournira le serveur , et un jar client pour lancer les commandes selenium à notre browser (selenium-java-client-driver.jar).

Avant de lancer un test unitaire, il faut avoir lancer le serveur par une commande du type :
"C:\Program Files\Java\jre1.6.0_05\bin\java.exe" -jar selenium-server.jar

Et ensuite voici, la classe obtenue après export ... d'un test enregistrer sous Firefox avec Selenium IDE. A noter que ce dernier sera executé sous IE ...





import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;

public class TestBoc extends SeleneseTestCase {
public void setUp() throws Exception {
// setUp("http://change-this-to-the-site-you-are-testing/", "*chrome");
setUp("http://change-this-to-the-site-you-are-testing/", "*iexplore");
}

public void testBoc() throws Exception {
selenium.open("http://www.yahoo.fr");
selenium.type("login", "toto");
selenium.type("password", "titi");
selenium.select("module", "label=Orchestre");
selenium.click("link=Valider");
selenium.waitForPageToLoad("30000");
selenium.click("brechercher");
selenium.waitForPageToLoad("30000");
for (int second = 0;; second++) {
if (second >= 60) fail("timeout");
try { if ("24903".equals(selenium.getText("//tr[@id='l1']/td[2]"))) break; } catch (Exception e) {}
Thread.sleep(1000);
}

verifyTrue(selenium.isTextPresent("24903"));
selenium.click("link=D\u233connexion");
}
}

Aucun commentaire:

Enregistrer un commentaire