Groovy ako lepidlo medzi Canoo Webtest a Selenium – III.

166

CWS_I._1V 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.

III.-1_selenium

 

 

 

III.-2_selenium

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
 

 

III.-3_selenium

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.

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 4 200 z vás dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

I agree to have my personal information transfered to MailChimp ( more information )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžete odhlásiť.