Mi a Selenium Webdriver?
A Selenium Webdriver egy nyílt forráskódú API-gyűjtemény, amelyet webalkalmazások tesztelésére használnak. A Selenium Webdriver eszköz a webalkalmazások tesztelésének automatizálására szolgál annak ellenőrzésére, hogy az elvárt módon működik-e. Főleg olyan böngészőket támogat, mint a Firefox, a Chrome, a Safari és az Internet Explorer. Ez lehetővé teszi a böngészők közötti tesztelés végrehajtását is.
A WebDriver programozási nyelv használatát is lehetővé teszi a teszt parancsfájlok létrehozásakor (a Selenium IDE-ben nem lehetséges).
Most már használhat olyan feltételes műveleteket, mint az if-then-else vagy switch-case. Hurkolást is végezhet, mint a do-while.
A következő programozási nyelveket támogatja a WebDriver
- Jáva
- .Háló
- PHP
- Piton
- Perl
- Rubin
Nem kell mindegyiket ismernie. Csak tudnod kell egyben. Ebben az oktatóanyagban azonban Java-t és Eclipse-t fogunk használni IDE-ként.
Különbség a Selenium RC és a Webdriver között
A WebDriver 2006-os megjelenése előtt volt egy másik automatizálási eszköz, a Selenium Remote Control néven. A WebDriver és a Selenium RC egyaránt a következő tulajdonságokkal rendelkeznek:
- Mindkettő lehetővé teszi, hogy programozási nyelvet használjon a teszt szkriptek megtervezéséhez.
- Mindkettő lehetővé teszi a tesztek futtatását különböző böngészőkön.
Tehát miben különböznek egymástól? Beszéljük meg a válaszokat.
1. Építészet
A WebDriver felépítése egyszerűbb, mint a Selenium RC-ké .
- Az operációs rendszer szintjén vezérli a böngészőt
- Mindössze a programozási nyelv IDE-jére (amely tartalmazza a Selenium parancsokat) és egy böngészőre van szükség.
A Selenium RC felépítése sokkal bonyolultabb.
- A tesztelés megkezdése előtt először el kell indítania egy Selenium Remote Control (RC) Server nevű külön alkalmazást
- A Selenium RC Server "közvetítőként" működik a Selenium parancsok és a böngésző között
- A tesztelés megkezdésekor a Selenium RC Server "befecskendez" egy Selenium Core nevű Javascript programot a böngészőbe.
- Az injekció beadása után a Selenium Core elkezdi kapni az RC szerver által továbbított utasításokat a tesztprogramtól.
- Amikor az utasításokat megkapja, a Selenium Core Javascript parancsként hajtja végre őket.
- A böngésző engedelmeskedik a Selenium Core utasításainak, és válaszát továbbítja az RC szervernek.
- Az RC szerver megkapja a böngésző válaszát, majd megjeleníti az eredményeket Önnek.
- Az RC Server lekéri a következő parancsot a tesztfájlból, hogy megismételje az egész ciklust.
2. Sebesség
A WebDriver gyorsabb, mint a Selenium RC, mivel közvetlenül a böngészővel beszél, a böngésző a saját böngészőjét használja a vezérléshez.
A Selenium RC lassabb, mivel a Selenium Core nevű Javascript programot használja. Ez a szelénmag az, amely közvetlenül a böngészőt vezérli, nem pedig Ön.
3. Valós élet interakciója
A WebDriver reálisabban interakcióba lép az oldalelemekkel. Például, ha egy letiltott szövegmező van egy tesztelt oldalon, akkor a WebDriver valóban nem írhat be semmilyen értéket, mint ahogyan egy valódi ember nem.
A Selenium Core, csakúgy, mint a többi JavaScript-kód, hozzáférhet a letiltott elemekhez. Korábban a szeléntesztelők panaszkodtak arra, hogy a szelénmag a tesztjeik során képes volt értékeket beírni egy letiltott szövegmezőbe. Különbségek az API-ban
4. API
A Selenium RC API-ja érettebb, de redundanciákat és gyakran zavaró parancsokat tartalmaz . Például a tesztelők legtöbbször értetlenkednek, hogy a type vagy typeKeys-t használják; vagy a click, mouseDown vagy mouseDownAt használatát. Rosszabb esetben a különböző böngészők ezeket a parancsokat is különböző módon értelmezik!
A WebDriver API-ja egyszerűbb, mint a Selenium RC-k . Nem tartalmaz redundáns és zavaró parancsokat.
5. Böngésző támogatás
A WebDriver támogatja a fej nélküli HtmlUnit böngészőt
A HtmlUnit-t "fej nélküli" -nek nevezik, mivel ez egy láthatatlan böngésző - GUI-nélküli.
Ez egy nagyon gyors böngésző, mert nem tölt el időt az oldalelemek betöltésének megvárása. Ez felgyorsítja a teszt végrehajtási ciklusait.
Mivel a felhasználó számára láthatatlan, csak automatizált eszközökkel vezérelhető.
A Selenium RC nem tudja támogatni a fej nélküli HtmlUnit böngészőt. A működéséhez valódi, látható böngészőre van szüksége.
A WebDriver korlátai
A WebDriver nem tudja könnyen támogatni az új böngészőket
Ne feledje, hogy a WebDriver operációs rendszer szinten működik. Ne feledje, hogy a különböző böngészők különböző módon kommunikálnak az operációs rendszerrel. Ha új böngésző jelenik meg, akkor az más operációs rendszerrel való kommunikáció folyamata eltérhet más böngészőktől. Tehát elég időt kell adnia a WebDriver csapatának, hogy kitalálja ezt az új folyamatot, mielőtt a következő WebDriver kiadásban megvalósíthatnák.
A WebDriver fejlesztői csoportjának feladata azonban eldönteni, támogatják-e az új böngészőt vagy sem.
A Selenium RC beépített teszt eredménygenerátort tartalmaz
A Selenium RC automatikusan létrehoz egy HTML fájlt a teszt eredményeiről . A jelentés formátumát maga az RC állította be. Vessen egy pillantást a jelentés alábbi példájára.
A WebDriver nem rendelkezik beépített paranccsal, amely automatikusan létrehoz egy teszt eredményfájlt . Az IDE kimeneti ablakára kell támaszkodnia, vagy saját maga kell megterveznie a jelentést a programozási nyelv képességeinek felhasználásával, és szövegként, HTML-ként stb.
Összegzés
- A WebDriver egy olyan eszköz, amely különböző böngészőkben teszteli a webalkalmazásokat különböző programozási nyelvek segítségével.
- Most már képes hatékony teszteket végezni, mert a WebDriver lehetővé teszi, hogy a tesztek megtervezéséhez az Ön által választott programozási nyelvet használja .
- A WebDriver egyszerűbb architektúrája miatt gyorsabb, mint a Selenium RC .
- A WebDriver közvetlenül beszél a böngészővel, míg a Selenium RC-nek ehhez az RC Server segítségére van szüksége.
- A WebDriver API-ja tömörebb, mint a Selenium RC-k.
- A WebDriver támogatja a HtmlUnit funkciót, míg a Selenium RC nem.
- A WebDriver egyetlen hátránya:
- Nem tudja könnyen támogatni az új böngészőket , de a Selenium RC igen.
- Nem rendelkezik beépített paranccsal a teszt eredmények automatikus előállításához.