Selenium ist ein Testframework für Webanwendungen. Mit Hilfe der Selenium IDE im Browser können Nutzereingaben wie Formulareingaben und Submits aufgezeichnet werden und nachträglich zu Testzwecken wiederholt werden. Die Eingaben können in unterschiedlichen Formaten, wie HTML, Java, .Net, Ruby usw., abgespeichert werden.
Für einen Aufruf aus Java heraus ist der Selenium Server wie auch der der Selenium Client notwendig. In einem Maven Projekt, können diese Bibliotheken über folgende Dependencies geholt werden.
<dependency> <groupId>org.openqa.selenium.client-drivers</groupId> <artifactId>selenium-java-client-driver</artifactId> <version>0.9.2</version> </dependency> <dependency> <groupId>org.openqa.selenium.server</groupId> <artifactId>selenium-server</artifactId> <version>1.0-20081010.060147</version> </dependency>
Danach kann der SeleniumServer und nachfolgend der Selenium Client mit den zugehörigen Tests ausgeführt werden:
SeleniumServer server = new SeleniumServer();
DefaultSelenium selenium = null;
try {
server.start();
selenium = new DefaultSelenium("localhost", 4444, "*firefox3 /usr/lib/firefox-3.0.5/firefox", "http://localhost/");
selenium.start();
selenium.open("/Login.jsp");
selenium.type("user", "username");
selenium.type("pass", "pass");
selenium.click("submit");
selenium.waitForPageToLoad("30000");
selenium.click("link=Overview");
selenium.waitForPageToLoad("30000");
} catch (Exception ex) {
ex.printStackTrace();
} finally {
selenium.stop();
server.stop();
}
Die Nutzereingaben können über Firefox aus der Selenium IDE als Java kopiert werden und in den Beispielcode eingefügt werden.
Viele Grüße Rafael
