V druhej časti som sľúbil, že sa podrobnejšie pozrieme na kódy v Jave, Groovy a že podrobnejšie popíšem postupy integrácie Selenia do Canoo WebTest.
Poďme teda pekne po poriadku. Selenium je možné stiahnuť z jeho domáceho webu.
Pre naše účely je potrebný download súborov (čísla verzií sa môžu v čase meniť):
- selenium-server-standalone-2.35.0.jar – server, ktorého beh je potrebný na spúštanie testov
- selenium-java-2.35.0.zip – potrebné jar súbory potrebné k písaniu testov
Selenium server spustíme príkazom:
Java – jar selenium-server-standalone-2.35.0.jar
Teraz poďme na testovacie kódy v ich jednotlivých modifikáciách [Java, Groovy, WebTest].
JAVA:
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
public class selenium {
public static void main(String[] args) {
DesiredCapabilities capability = DesiredCapabilities.firefox();
try {
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
driver.get("http://www.priklady.eu");
WebElement element = driver.findElement(By.linkText("FYZIKA"));
element.click();
System.out.println(driver.getTitle());
driver.close();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
Tento kód postupne vykoná nasledujúce akcie:
- Otvorí Firefox
- Naviguje na stránku priklady.eu – driver.get(“http://www.priklady.eu”).
- Klikne na link „FYZIKA“ – element.click().
- Vypíše na konzolu titul stránky
- Zatvorí Firefox – driver.close().
Rovnaký kód v jazyku Groovy, v ktorom pribudol záverečný test na výskyt reťazca „fyziky“ v titulku stránky.
Groovy:
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import com.canoo.webtest.engine.StepFailedException as SPE;
class gselenium {
static main(args) {
DesiredCapabilities capability = DesiredCapabilities.firefox()
try {
println("Test started ... ")
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability)
driver.get("http://www.priklady.eu")
WebElement element = driver.findElement(By.linkText("FYZIKA"))
element.click()
String sTitle = driver.getTitle()
driver.close();
println("Page Title is: " + sTitle)
if (!sTitle.contains("fyziky")) {
println("Test failed")
throw new SPE("Problem found - test failed")
}
println("Test OK")
} catch (MalformedURLException e) {
println("Test failed")
throw new SPE("Problem found - test failed")
}
}
}
Pomocou triedy „StepFailedException” zo súboru webtest.jar som pripravil budúcu komunikáciu groovy kódu s Canoo WebTestom. Ak totiž potrebujeme oznámiť Canoo WebTestu, že test nedopadol dobre, a že teda nechceme, aby sa test vykonával ďalej, vyhodíme StepFailedException – čim zastavíme vykonávanie testu a zobrazíme výsledky testu so zlyhaním v kroku <groovy>.
V poslednej časti tejto série si ukážeme ako Groovy kód „zlepíme“ s testovacím scenárom v prostredí Canoo Webtest. Takto upravený skript spustíme v prostrediach Eclipse a Webtest.





