Skočiť na obsah Skočiť na menu

Inet.sk - internetový denník

internetový denník

Webtest v Goovy pomocou Maven

Ďalšia alternatíva pre automatizované testovanie webových aplikácií. Testovacie scenáre v jazyku Groovy pomocou Maven. A to priamo v prostredí Eclipse, ako JUnit projekty.


Canoo WebTest je v skutočnosti  "iba" súbor Ant-taskov a preto nás už určite neprekvapuje,  že zápisy testovacích scenárov  sú tradičné XML zápisy.  Ak však nechcete zapisovať testovacie scenáre v formáte XML a neprišli ste na chuť plugin-u GRAILS [Groovy on Rails] – je tu ďalšia alternatíva. Groovy a Maven. A to priamo v prostredí Eclipse.  Toto spojenie má hneď na prvý pohľad dve hlavné výhody. Použitie vyššieho programovacieho jazyka - Groovy a štandardne silný reportovací nástroj Canoo WebTest.

  • Začneme stiahnutím najnovšej verzie Maven. V čase písania tohto článku je aktuálny „apache-maven-2.2.0“. Po nastavení systémovej „path“ na „X:\apache-maven-2.2.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

maven-projekt

 

  • Teraz zeditujeme vygenerovaný pom.xml [Project Object Model] 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>
  • Pokračuejeme vytvorením Eclipse projektu.
mvn -Declipse.downloadSources=true eclipse:eclipse

eclipse-project

 

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

  • Importujeme vytvorený Maven projekt do prostredia Eclipse.

import

 

  • 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-2.2.0\.m2\repository].

m2repo

 

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

 

Vyberieme "Groovy Unit Test" - ktorý je k dispozícii po inštalácii Groovy pluginu do prostredia Eclipse.

 

Triedu nazveme MyFirstWebTest.

 

Náš prvý Groovy test, ktorý otestuje portál 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.

runas

 

Po spustení Groovy kódu sa automaticky odštartuje aj WebTest monitor, na ktorom môžeme sledovať priebeh testov.

running-t

 

Výsledky testu sa zobrazia štandardným spôsobom.

reports

 

A ešte poznámka nakoniec. 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 kóde testu iba SME.sk.

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 spravodajstvo na Slovensku", Step: VerifyTitle at :  with (taskName="verifyTitle") at com.canoo.webtest.steps.verify.VerifyTitle.doExecute(VerifyTitle.java:26)
 

Autor pracuje ako programáror v spoločnosti www.together.sk

 

Je Vaša doména voľná?

Platená reklama

Textová reklama

Ako začať podnikať na internete? Nechajte si poradiť. Aký má byť obsah kvalitne www stránky? Tvorba www stránok, Tvorba webu, Redakčný systém - CMS, Prieskumy o nakupovaní na internete, Pôžičky
Kompletné informácie o Kika Banská Bystrica | Čo takto navštíviť Viedeň? | Zaujímavé informácie priamo od zdroja

Newsletter


Copyright © 2002 - 2012 Inet.sk, s. r. o.Všetky práva vyhradenéNeprešlo jazykovou úpravouISSN 1336-1899

Využívame kvalitný webhosting za rozumnú cenu od Webhosting Inet.sk


Bilancia skrývky Fotokniha Fotografie Osobnosti.sk