Blog Webtest v groovy pomocou Maven priamo v Eclipse

Webtest v groovy pomocou Maven priamo v Eclipse

Canoo WebTest testovací scenár je v skutočnosti  “iba” súbor Ant-taskov a preto nás už určite neprekvapí, že zápisy testovacích Canoo WebTest scenárov sú tradičné XML zápisy.  Ak však nechcete zapisovať testovacie scenáre v formáte XML, je tu ďalšia alternatíva. Groovy a Maven. A to priamo v prostredí Eclipse.

Začneme stiahnutím verzie Maven [http://maven.apache.org/download.html]. V čase písania tohto článku je aktuálny „apache-maven-3.1.0“. Po nastavení systémovej „path“ na „X:\apache-maven-3.1.0\bin\“ začneme vytvorením Maven projektu.

mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=my.domain -DartifactId=myWebTestApp

po ukončení ktorého vznikne Maven-projekt myWebTestApp.

 Webtest v groovy pomocou Maven priamo v Eclipse

Zeditujeme vygenerovaný pom.xml v troch krokoch.

  1. Pridáme WebTest ako „dependency“:
    <dependency>  
      <groupId>com.canoo.webtest</groupId>  
      <artifactId>webtest</artifactId>  
      <version>3.1-SNAPSHOT</version>  
    </dependency>
  2. Pridáme referenciu na Maven-WebTest repository:
    <repositories>  
        <repository>  
            <id>webtest_dependencies_snapshot</id>  
            <name>WebTest dependencies</name>  
            <url>http://webtest.canoo.com/webtest/m2-repo-snapshots</url>  
        </repository>  
    </repositories>
  3. Nakonfigurujeme GMaven plugin:
    <build>  
        <plugins>  
            <plugin>  
                <groupId>org.codehaus.groovy.maven</groupId>  
                <artifactId>gmaven-plugin</artifactId>  
                <version>1.0-rc-5</version>  
                <executions>  
                    <execution>  
                        <goals>  
                            <goal>compile</goal>  
                            <goal>testCompile</goal>  
                        </goals>  
                    </execution>  
                </executions>  
            </plugin>  
            <plugin>  
                <groupId>org.codehaus.mojo</groupId>  
                <artifactId>build-helper-maven-plugin</artifactId>  
                <executions>  
                    <execution>  
                        <id>add-test-source</id>  
                        <phase>generate-sources</phase>  
                        <goals>  
                            <goal>add-test-source</goal>  
                        </goals>  
                        <configuration>  
                            <sources>  
                                <source>src/test/groovy</source>  
                            </sources>  
                        </configuration>  
                    </execution>  
                </executions>  
            </plugin>  
        </plugins>  
    </build>

A pokračuejeme vytvorením Eclipse projektu.

mvn -Declipse.downloadSources=true eclipse:eclipse

Webtest v groovy pomocou Maven priamo v Eclipse

Počas vytvárania eclipse projektu sa z inernetu stiahnu aktuálne JAR súbory, ktoré nájdete v adresári „.m2“, nájdete ich napríklad v „c:\Documents and Settings\hesteric\.m2″. Ja som adresár .m2 premiestnil do adresára inštalácie Maven-u na disk F:\.

Downloadujeme Groovy plugin do prostredia Eclipse. Tento plugin má svoje „muchy“, ale je určite lepší ako nič.

Importujeme vytvorený Maven projekt do prostredia Eclipse.

 

Nastavíme premennú “M2_REPO” tak, aby ukazovala na adresár, obsahujúci potrebné JAR súbory, ktoré sa stiahli počas vytvorenia Maven projektu [f:\apache-maven-3.1.0\.m2\repository].

Webtest v groovy pomocou Maven priamo v Eclipse

Ak sme úspešne vykonali predchádzajúce kroky, môžeme začať s prvou groovy testovacou triedou.

Webtest v groovy pomocou Maven priamo v Eclipse

 

Webtest v groovy pomocou Maven priamo v Eclipse

Náš prvý groovy test, ktorý otestuje sme.sk by mohol vyzerať napríklad takto:

package my.domain

import com.canoo.webtest.WebtestCase  

/**
 * @author hesteric
 *
 */
 class MyFirstWebTest extends WebtestCase {   

     void testSme() {   
         webtest("Testujeme sme.sk") {   
             invoke url:"http://www.sme.sk", description: "Go to Sme.sk"
             verifyTitle "SME.sk" // tu test failuje …
         }   
     }                
 }

 

Spustíme ho ako RunAs->JUnit

Webtest v groovy pomocou Maven priamo v Eclipse

Webtest v groovy pomocou Maven priamo v Eclipse

 … a tu je výsledok:

 

ešte poznámka, že test neprešiel, pretože v title stránky je „SME.sk | denník SME – najčítanejšie spravodajstvo na Slovensku“ a nie ako je predpokladané v teste …

A tu je dôvod neúspechu nášho testu:

: Wrong document title found!. Expected value “SME.sk” but got “SME.sk | denník SME – najčítanejšie správy na Slovensku”, Step: VerifyTitle at :  with (taskName=”verifyTitle”) at com.canoo.webtest.steps.verify.VerifyTitle.doExecute(VerifyTitle.java:26)


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ť.

Senior Sieťový Špecialista

PRÁCA Pozícia: Sieťový špecialista Pracovný pomer:  TPP Miesto práce: Bratislava, on-site Plat: od 1700+ EUR/Brutto/mesačneHlavné zodpovednosti:Navrhuje architektúru, štruktúru a IP adresácie multiplatformových LAN/MAN/WAN sietí ...

Data Mining Expert

PRÁCA Pozícia: Data Mining Expert Pracovný pomer:  TPP Miesto práce: Bratislava, on-site Plat: od 2000+ EUR/Brutto/mesačneAké výzvy ťa čakajú?Vynikajúca pracovná príležitosť pre nadšenca práca...

Artificial Intelligence Consultant

JOB Position: Artificial Intelligence Consultant Contract type: Full-Time Location: Bratislava Salary: 2000 EUR/Brutto/monthsResponsibilities:conceptual processing and development of the new solutions in the area e.g....

Artificial Intelligence Expert

JOB Position: Artificial Intelligence Expert Contract type: Full-Time Location: Bratislava Salary: 2000 EUR/Brutto/monthsSuccessful adaptation of technologies like machine learning, deep learning, artificial inteligence will determine companies...

Senior Front-end / Angular Developer / Tvorba serverovej a aplikačnej logiky

PRÁCA Pozícia: FE/ Angular developer Pracovný pomer:  TPP, živnosť Miesto práce: Bratislava, Prievidza, Žilina Plat: od 1700+ EUR/Brutto/mesačneNáplň práce:Spolupráca na vývoji SW...

Senior .NET/Angular developer

PRÁCA Pozícia: .NET/Angular developer Pracovný pomer:  TPP Miesto práce: Bratislava, on-site Plat: od 1700+ EUR/Brutto/mesačneČo bude Vašou náplňou práce:spolupodieľanie sa na vývoji SW riešenia...

Senior SAP XI/PI/PO Konzultant

Základné informáciePozícia: Senior SAP XI/PI/PO Konzultant Pracovný pomer:  TPP, Živnosť Miesto práce: 95% Homeoffice - 5% on-site - Bratislava/nemecko Plat: od 2500...

Srdečne ťa pozývame na stretnutie DDD Community – Analýza domény

Na začiatku nového roka sa zameriame na analytické uchopenie domény pomocou DDD....

TOP 10 skillov programátora

Chceš vedieť na akých 10 skillov by si sa ako programátor mal/a zamerať? Sú to skilly, ktoré ti pomôžu si nájsť prácu, či byť označovaný/á ako "guru".

SanDisk Connect Wireless Stick

Je USB kľúč, ktorý má vo svojom tele vo veľkosti necelých 8x2 cm zabudovanú batériu a wifi...

Čí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ť.