V tretej časti sme napísali testovací scenár v jazykoch Java a Groovy. Pridali sme aj kód na interakciu Groovy s prostredím Canoo Webtest. V záverečnej časti si ukážeme, ako sa výsledný testovací scenár spustí v prostrediach Eclipse a Webtest.
Na úspešné skompilovanie Groovy projektu, nezabudneme pridať jar-súbory Selenia (selenium-java-2.35.0.zip) a Canoo WebTest do classpath projektu :
Samotné spustenie programu sa vykoná pomocou „Run As => Groovy Script”
… alebo ako Groovy konzola:
Výsledok spustenia groovy projektu v prostredí Eclipse:
Canoo WebTest :
Teraz to celé „zlepíme“ pomocou groovy tagu a zapíšeme to v Canoo WebTest XML zápise nasledovne:
<?xml version="1.0"?> <!DOCTYPE project[ <!ENTITY config SYSTEM "../includes/config.txt"> ]> <project default="groovy"> <target name="groovy"> <webtest name="groovy"> &config; <steps> <storeProperty description="Link name" name="link" value="FYZIKA"/> <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; DesiredCapabilities capability = DesiredCapabilities.firefox(); WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability); driver.get("http://www.priklady.eu"); String sLinka = step.getWebtestProperty("link").toString() WebElement element = driver.findElement(By.linkText(sLinka)); element.click(); String sTitle = driver.getTitle() driver.close(); println("Page Title is: " + sTitle) if (!sTitle.contains("fyziky")) { throw new SPE("Problem found - test failed"); } </groovy> </steps> </webtest> </target> </project>
Všimnite si ako komunikuje Groovy kód s kontextom Canoo Webtest. WebTest uložil do property/premennej link hodnoty “FYZIKA”.
<storeProperty description=”Link name” name=”link” value=”FYZIKA”/>
Groovy ju prečítal : String sLinka = step.getWebtestProperty(“link”).toString()
a použil počas behu testu. Opačným spôsobom – step.setWebtestProperty() zafunguje aj komunikácia smerom z Groovy do Canoo WebTest-u.
Po sustení testu z prostredia Canoo WebTest (ANT) vidíme postupne zľava:
- Firefox s otvorenou webovou stránkou
- Priebeh testu v okne ANT
- WebTest monitor
- Selenium server
- Štandardný výsledok testu