Blog Groovy ako lepidlo medzi Canoo Webtest a Selenium – III.

Groovy ako lepidlo medzi Canoo Webtest a Selenium – III.

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.

 

 

 

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 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.



Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

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

React FE Developer

Prejdi s novým projektom na remote! Ovládaš React a obzeráš sa po novom projekte? Pre medzinárodnú IT spoločnosť hľadáme...

Technical Writer / REMOTE

Si Technical Writer a hľadáš zmysluplný projekt, ktorý bude REMOTE? Teraz máš možnosť pomáhať zlepšovať kvalitu života pacientov prostredníctvom...

Junior/Medior DevOps Specialist / App pre solárne elektrárne

Ak si Junior alebo Medior DevOps Specialist, máš šancu vydať sa na cestu zvyšovania efektivity solárnych elektrární. Pracoval by...

DevOps Architect

Ak si alebo máš ambíciu stať sa DevOps Architect-om, zbystri pozornosť. Máme pre teba projekt!Pre medzinárodnú IT spoločnosť hľadáme...

.NET / Angular/ Developer – REMOTE

NET/Angular Developer má teraz príležitosť prejsť na REMOTE s novým projektom!Pre spoločnosť, ktorá patrí medzi najvýznamnejších producentov informačných systémov...

DevOps Architect

Ak si alebo máš ambíciu stať sa DevOps Architect-om, zbystri pozornosť. Máme pre teba projekt!Pre medzinárodnú IT spoločnosť hľadáme...

Fronted Developer / Aplikácie pre diabetikov

Páčila by sa Ti zmysluplná práca na produkte - aplikácií, ktorá pomáha ľuďom s tým najcennejším, čo majú -...

Bratislava Game Jam sa tento rok spojil s hernými konferenciami Game Days a Game Developers Session Praha.

Bratislava Game Jam je súťaž programátorov, scenáristov, grafikov, filozofov a ilustrátorov, ktorých...

Ako chutí tá pravá Java? Odpoveď nájdete na JavaDays 2020 ONLINE

Zaujíma vás svet Javy a všetko s ním spojené? Máte záujem načerpať...

Bratislavská coworkingová legenda The Spot ožíva

The Spot – prvý bratislavský coworkingový priestor, v ktorom vznikali a sídlili...

Čítaj ďalej:

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

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

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