Szelén webdriver - szelén - automatizálása webes alkalmazások

Megjegyzés: Ez a szakasz még nem fejeződött be. Abban a pillanatban a szekció van írva. Biztosak vagyunk benne, hogy az itt közölt információk megfelelnek a valóságnak. De fokozatosan bővíteni ezt a részt. Ugyanakkor azt is megvizsgálja, és módosítsa a szöveget.







Szelén 2,0 lehetőségek

A szelén 2,0 tartalmaz sok izgalmas funkciók és fejlesztések az szelén 1. A legfontosabb változás az új verzió - az integráció WebDriver API, alternatív, egyszerűsített szoftver felület, ami kiküszöböli a hiányosságokat a szelén 1. Jelen WebDriver API - dolgozzon ki egy objektum-orientált API által támogatott számos böngészők és jobb kritikus vizsgálat kihívásoknak a modern webes alkalmazások.

Megjegyzés: Leírás Az új funkciók szelén 2,0 lesz hozzá később. Közben utalunk a hivatalos bejelentést a blog.

Amikor szükség van, hogy használja a szelén Server

A másik ok, hogy miért lehet szükség szelén Server, az lenne, hogy a szelén Grid elosztott teszt végrehajtása. Végül, akkor szüksége van rá, ha használja WebDriver fel Szelén (WebDriver végrehajtását API, amely felhasználja a szelén 1 technológia az, hogy befolyásolja a böngésző). Ezek a témák tárgyalja részletesebben később ebben a fejezetben.

Hozzon létre egy projektet a fejlesztési vizsgálatok során WebDriver

Hozzászólások létrehozásához szükséges szoftver projekt, amely lehetővé teszi, hogy dolgozzon vizsgálatok során a szelén, függ a nyelvi programozás és bármilyen fejlesztési környezet fogsz csinálni.

A legegyszerűbb módja annak, hogy ezt a programozási nyelv - használata Maven, hogy hozzon létre egy projektet. Maven automatikusan letölti a kliens könyvtár szelén 2.0 Java, valamint az összes függőség és hozzon létre egy projektet az pom.xml fájlt (konfigurációs fájl a projekt). Miután ezt megtette, akkor importálni a projekt az Ön által preferált fejlesztőkörnyezet (IDE) - IntelliJ IDEA vagy Eclipse.

Ellenőrizze, hogy a legújabb verzióját szelén. Abban az időben az írás szerepel a példában a legújabb verzió, de az új kibocsátások szelén 2.0 out gyakran. Tájékozódjon szolgáltatni a weboldalon. Maven A beállítások az aktuális változata szelén, és ennek megfelelően módosíthatja a kapcsolat ().

Most a parancssorban váltson (cd) a könyvtárba a projekt fut Maven alábbiak szerint:

Ez a parancs betölti szelén és a függőségek, és add hozzá a projekthez.

Végül importálja a létrehozott projekt a kiválasztott fejlesztési környezetet. Azok számára, akik ezt az első alkalommal, már írásos utasításokat.

Ha Windows Vista vagy újabb, akkor először kinyit a zip-fájl: kattintson jobb gombbal a fájlra, válassza a „Tulajdonságok”, majd „feloldása” gombra, és kattintson az „OK” gombot.

Csomagolja ki a fájlt, és adjuk hozzá a linkeket a kibontott DLL-könyvtárat a projekt Visual Studo vagy bármilyen más IDE használja.

A szelén szintén elosztva, mint egy sor csomagok NuGet:

Ha a Python automatizált tesztelés, akkor a legvalószínűbb, hogy már ismeri, hogyan alkalmazás fejlesztés rajta. Ahhoz, hogy hozzá szelén a Python környezetben futtassa a következő parancsot a parancssorba:

Python nyelvtanulás túlmutat az útmutató. Szerencsére sok speciális erőforrások és a programozók segítségével ebben az ügyben.

Ha használja Ruby teszt automatizálás, akkor a legvalószínűbb, hogy már ismeri ezt a programozási nyelv. Ahhoz, hogy hozzá szelén a Ruby nyelv a környezetben futtassa a következő parancsot a parancssori felület:

Ruby nyelvtanulás túlmutat ezen útmutató, de sok információforrásokat Ruby és valószínűleg tud segíteni dolgozni a fejlesztők.

Jelenleg Szelén 2.0 nem támogatja a Perl. Ha kérdése van, vagy szeretne segítséget nyújtani a fejlesztés nyelvi támogatást, kérjük, írjon a fejlesztők.

Jelenleg Szelén 2.0 nem támogatja a PHP. Ha kérdése van, vagy szeretne segítséget nyújtani a fejlesztés nyelvi támogatást, kérjük, írjon a fejlesztők.

Áttérés Szelén 1,0

Azok számára, akik már egy tesztsorozat írásbeli szelén 1,0 kínálunk számos ajánlást, hogyan vándorolnak a kódot, hogy a szelén 2,0. Saymon Styuart (Simon Stewart), a vezető fejlesztő szelén 2,0, írt egy cikket róla, ami megtalálható a Függelékben „Átállás szelén RC a WebDriver”.

Az első lépések a szelén WebDriver

WebDriver - egy eszköz automatizált tesztelés a webes alkalmazások, különösen annak igazolására, hogy az alkalmazás megfelelően működik. Ezt az eszközt fogant oly módon, hogy egy kényelmes felületet (API), amely lehetővé teszi a jobb olvashatóság és egyszerűsíti a karbantartási vizsgálatok, könnyebb megtanulni és megérteni, mint a szelén RC (1.0) API-t. WebDriver API nem kötődik semmilyen vizsgálati keretet, amely lehetővé teszi, hogy minden egység tesztelése keretek, valamint a sima régi „fő” módszer.

Ez a fejezet segít megismerkedjen alapjait WebDriver API, és megteszi az első lépéseket annak használatát. Először hozzon létre egy WebDriver-projekt, ha még nem tette volna, ahogy az előző részben, Projekt létrehozása a fejlesztési vizsgálatok során WebDriver.







Amikor létrehoz egy projektet, akkor látni fogja, hogy WebDriver viselkedik, mint egy rendes könyvtár: ez teljesen önellátó, és mint általában, akkor nem kell azzal törődnie, hogy futni további eljárások vagy a telepítő futtatásához használat előtt, ellentétben a szelén RC proxy.

Most már készen áll a kódot írni. Nézd meg a következő példát, amely elindítja a keresést a szó „sajt” a Google, és végül kiírja a címet a találati oldal a konzol.

Ez a táblázat fejlesztés alatt

További „vélt biztonságának”, akkor válasszon egy másik vezető, mint a Firefox vezető. Előnye az, hogy valóban megjelenik a weboldal ebben a böngészőben, és ennek eredményeként, ez lehetővé teszi, hogy meghatározza, például, a helyzet az elem az oldalon, vagy kiszabására CSS tulajdonságokat. Azonban ezek a funkciók ára van - a sebességet a teszt jelentősen csökken. Ha fejleszteni teszteket WebDriver lehetősége van kiválasztani a legmegfelelőbb illesztőprogram egy adott teszt.

Kezdjük a legegyszerűbb HtmlUnit Pilóta Pilóta:

Parancsok és működés

nyit meg oldalakat

Az első dolog, akkor valószínűleg szeretné, hogy a WebDriver - nyissa meg a weboldalt. Ez általában használt „get” módszer:

WebDriver fog várni a teljes letöltés az oldal (tehát az az időpont, amikor a munka esemény „onload”), mielőtt visszatérne ellenőrzés vissza a teszt script. De ez a megközelítés nem működik, ha az oldal végez AJAX kérések száma azonnal betöltése után (vagyis ugyanaz az esemény „onload”). Ebben az esetben kell várni az oldal teljes betöltése, akkor explicit és implicit elvárásait.

A kölcsönhatás az oldalt

Lehetőség csak eljut a kívánt oldal maga nem nagyon értékes. A legnagyobb jelentőségű az a lehetőség, hogy kölcsönhatásba lépnek az oldalt, vagy inkább a HTML-elemek ezt az oldalt. Először is, meg kell találni az érdekes elem. WebDriver többféle módon kereshet terméket. Például, ha van egy elem határozza meg a HTML kódot az alábbiak szerint:

megtalálja bármelyik az alábbi módszerekkel:

Ezen kívül megtalálható a linkeket a szövegben. De légy óvatos! Link szövege legyen pontos egyezés! Is, legyen óvatos, ha használ XPath WebDriver. Ha kritériumoknak megfelel több elem, az eredmény egy „findElement” lesz az első közülük. Ha nem talál semmit, akkor kap „NoSuchElementException” kivétel.

WebDriver van objektumorientált API, minden típusú oldalelemek bemutatott egy interfészen WebElement. Ez azt jelenti, hogy annak ellenére, hogy az automatikus kiegészítési funkció az IDE megmutatja számos lehetséges módszerek, nem mindegyik lesz értelme, vagy lehet alkalmazni, hogy egy adott elem található. Ne aggódj! Ha hívja a módszer, amely nincs értelme (pl setSelected () az elem „meta”), ez kizárást eredményezi.

Tehát olyan oldalt talál elem, akkor mi? Először is, érdemes lehet belépni bármilyen szöveget a beviteli mezőbe:

Akkor szimulálni a nyíl gombokat a billentyűzeten a „gombok” osztály:

Akkor hívja a „SendKeys” módszer bármely elem, amely lehetővé teszi, hogy teszteljék a „forró gombokat”, mint azok, amelyek léteznek GMail. Ez adja a következő mellékhatások: ha beír valamit a szövegmezőbe, akkor nem automatikusan törlődik. Más szóval, hogy adja hozzá kell adni a meglévő szöveget. Azonban könnyen törölje a szövegdoboz (például egy vonal "input type =" text", valamint a multi-line "textarea"):

Azonosítása oldalelemek

Megjegyzés: Ez a szakasz bővíteni kell.

Azonosítása elemek WebDriver végzi „A” osztályú. Ez az osztály implementálja az alkalmazott módszerek a keresést.

XPath kifejezések

WebDriver használja a beépített képességeit böngészők, ahol csak lehetséges. Azok a böngészők, amelyek beépített támogatást XPath hiányzik, mi saját végrehajtását. Mindez azt eredményezheti, hogy nem a várt eredményt bizonyos esetekben, ha nem tud a különbség a viselkedés velejárója a különféle megvalósítások XPath.

attribútum neve vagy kulcsszó

Néha HTML elemeket nem kell kifejezetten meghatározott okból attribútumok a kódot, hogy van valamilyen szabványos alapértelmezett érték. Például: az elem „input” nincs szüksége a tulajdonság „típusú”, mert ez a tulajdonság alapértelmezett értéke a „text”. Ilyen helyzetben, a gyakorlatban nem várhatjuk XPath lekérdezés talál ilyen implicit attribútumot.

Adatbevitel - kitöltése űrlapmezőket

Mi már ismerik, milyen adatokat bevinni szöveges mezők, de mi a helyzet a többi elem? Használhatja a módszert kattintással válthat jelölőnégyzeteket, vagy válassza ki a kívánt értéket (tag „opció”) a listából ( „select” címke). A listák munka nem olyan bonyolult:

Ez a kód megkeresi az első elem „kiválaszt” egy oldalon, és egy hurok felsorolja minden választás ( „option”), kimenetre minden egyes lépésben az érték a jelenlegi megvalósítás, valamint a jelölés azt választjuk. Azonban lehet, hogy észrevette, hogy nem ez a legkényelmesebb módja annak, hogy dolgozni „select” elem. Van egy speciális osztálya a „Select” között WebDriver segítő osztályok, amely kényelmes dolgozni elemeket, technikákat.

Ez a kód megkeresi az első tétel „select” egy oldalon, törli az aktuális kijelölés (törölje az összes), majd válassza ki az elemet a szöveg „Edam”.

Miután töltse ki az űrlapot, érdemes elküldeni. Az egyik módja ennek -, hogy megtalálja, és nyomja meg az elküld gombot.

Továbbá WebDriver hívhatjuk a módszer „submit” önkényes tényezőt. Ha szükség van rá egy tétel, amely valamilyen formában, WebDriver feljebb a DOM-ig, amíg nem talál forma, amely így önmagához, majd hívja a „be” azt. Ha az elem nem egy forma, akkor kap egy kivételt „NoSuchElementException”.

Váltás ablakok és keretek

Egyes internetes alkalmazások több ablak vagy keret. WebDriver képes váltás közöttük módszerrel „switchTo”:

Azt is át egy „switchTo (). Ablak ()” kilincs. Így az alábbiakban ismertetett, akkor átugorhatja az összes ablakot:

Azt is meg lehet váltani a szükséges kereteket (vagy iframe):

Ahhoz, hogy a beágyazott kereteket használja vegyület nevét a pontos, mint az elválasztó, illetve a gyerek frame-index. Nézd meg a következő példát:

Ez a kód úgy, hogy a keret a neve „gyermek”, a kereten belül az első (index: 0), hogy csatlakozik a kerethez a neve „frameName”. A számozás a kockák a felső * *.

Pop-up ablak dobozok

Kezdve a 2.0 beta 1, szelén egy beépített eszközök dolgozó párbeszédpanelek. Végrehajtása után minden olyan intézkedés, amely ahhoz vezet, hogy a párbeszéd a képernyőn, úgy érheti el, az alábbiak szerint:

Ez a kód visszatér egy tárgy megfelel a modális dialógus nyitott meg a képernyőn az adott pillanatban. Ezzel a tárgyat csak akkor veheti akció „határozat”, „elutasítás”, hogy a tartalmát egy ablak, vagy akár, hogy írjon valamit a beviteli mezőbe párbeszéd. Alert felület ugyanilyen jól működik egy figyelmeztető párbeszédablak, megerősítik és kérdezzen. További információkért lásd JavaDocs.

Mozgás a böngésző történelem

Ismét: "". Navigate () a () "" és "" get () "" csinálnak teljesen ugyanaz. Csak egy másodperc rövidebb írni.

navigációs felület ( „navigálni”) képes előre-hátra mozog a böngészőn keresztül előzmények:

Megjegyzendő, hogy ezt a funkciót teljes mértékben támaszkodik annak végrehajtását a böngésző. Ha vannak szokva egy bizonyos viselkedését a böngésző, fennáll annak a lehetősége, hogy a másik megtörténhet van valami, amit nem számíthat.

A sütik (cookie-k)




Kapcsolódó cikkek