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.

 M2

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

M3

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

M5

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

M6

 

M8

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

M9

M10

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

Roman Hesteric
Roman Hesterichttp://www.priklady.eu
Pracuje ako QA Architekt v Swiss Re. Predtým CTO pre Java a .Net aplikácie. Autorizovaný spolupracovník na projekte Canoo Webtest. Držiteľ certifikátov MCTS a MCPD pre SharePoint server. V IT pracuje 25 rokov, od starého dobrého Turbo Pascalu od Borlandu, cez Javu, až po C#. Administrátor matematického portálu www.priklady.eu

Scala Developer/ka

Máš rád svoju slobodu, pracuješ na projektoch, ideálne remote? Staň sa súčasťou startupu, ktorý buduje platformu na podporu maloobchodu a...

Java Software Architect

Mrháš svojim talentom? Urob prvý krok a zistí čo Ti dnešok ponúka. Medziiným aj prácu v medzinárodnej IT spoločnosti,...

Back-End Developer / REMOTE

Pracuj na svetovom SW produkte, ktorý je používaný miliónmi používateľov! Firma rýchlo rastie a vyvíja nové features. Poznáme ich prostredie...

FullStack PHP Developer

Chcel by si dlhodobú spoluprácu, dobré pracovné podmienky, seriózny prístup? Hľadáme FullStack PHP Developera pre spoločnosť, ktorá sa zaoberá...

Python Medior/Senior Developer

Si Python developer, chceš sa naučiť Go, ideálne remote? Spoločnosť, ktorá sa zaoberá pokročilou analýzou dát a automatizáciou marketingu...

Data Scientist / REMOTE

Pre mladý startup vyvíjajúci softvér, ktorý prispieva hráčom k lepšiemu zážitku z hrania, hľadáme Data Scientist. Založili ho dvaja...

IT Aplikačný Architekt

Chceš stabilné zamestnanie, vychutnávať si skvelý kolektív a mať priestor na realizáciu svojich riešení? Pre spoločnosť pôsobiacu v energetike...

Zapojte sa do prvého NCC hackathonu!

Nenechajte si ujsť prvý hackathon Národného kompetenčného centra pre HPC a využite jedinečnú príležitosť podieľať sa na vývoji aplikácie,...

Zviditeľnite sa v médiách ako odborník v oblasti IT

Zaujímajú vás novinky zo sveta IT a chýbajú vám v médiách? Pomôžte budovať povedomie v oblasti informačných technológií a...

Súťaž Scracth Match 2021 zaznamenala nárast, dominovali jej edukatívne hry

Porota celoslovenskej súťaže Scratch Match 2021 už po piaty raz ocenila nádejné programátorky vo veku 8-15 okov. Medzi ocenenými...

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