Co je Selenium Webdriver?
Selenium Webdriver je open-source kolekce API, která se používá k testování webových aplikací. Nástroj Selenium Webdriver se používá k automatizaci testování webových aplikací k ověření, zda funguje očekávaným způsobem nebo ne. Podporuje hlavně prohlížeče jako Firefox, Chrome, Safari a Internet Explorer. Také vám umožňuje provádět testování napříč prohlížeči.
WebDriver také umožňuje používat programovací jazyk při vytváření testovacích skriptů (není možné v Selenium IDE).
Nyní můžete použít podmíněné operace jako if-then-else nebo switch-case. Můžete také provádět smyčky jako do-while.
WebDriver podporuje následující programovací jazyky
- Jáva
- .Síť
- PHP
- Krajta
- Perl
- Rubín
Nemusíte znát všechny. Musíte jen mít znalosti v jednom. V tomto kurzu však budeme používat prostředí Java s Eclipse jako naše IDE.
Rozdíl mezi Selenium RC a Webdriver
Před příchodem WebDriveru v roce 2006 existoval další automatizační nástroj s názvem Selenium Remote Control. WebDriver i Selenium RC mají následující funkce:
- Oba vám umožňují používat programovací jazyk při navrhování testovacích skriptů.
- Oba vám umožňují spouštět testy v různých prohlížečích.
Jak se tedy liší? Pojďme diskutovat o odpovědích.
1. Architektura
Architektura WebDriveru je jednodušší než architektura Selenium RC .
- Ovládá prohlížeč z úrovně OS
- Vše, co potřebujete, je IDE programovacího jazyka (který obsahuje vaše příkazy selenu) a prohlížeč.
Architektura selenového RC je mnohem komplikovanější.
- Před zahájením testování musíte nejprve spustit samostatnou aplikaci nazvanou Selenium Remote Control (RC) Server
- Selenium RC Server funguje jako prostředník mezi vašimi příkazy selenu a vaším prohlížečem
- Když začnete testovat, server Selenium RC Server „ vloží“ do prohlížeče program Javascript s názvem Selenium Core .
- Po injekci začne Selenium Core přijímat pokyny předávané RC serverem z vašeho testovacího programu.
- Po obdržení pokynů je Selenium Core provede jako příkazy Javascript.
- Prohlížeč se bude řídit pokyny Selenium Core a předá svou odpověď RC serveru.
- RC Server obdrží odpověď prohlížeče a poté vám zobrazí výsledky.
- RC Server načte další instrukci z testovacího skriptu, aby zopakoval celý cyklus.
2. Rychlost
WebDriver je rychlejší než Selenium RC, protože hovoří přímo do prohlížeče a k jeho ovládání používá vlastní engine prohlížeče.
Selenium RC je pomalejší, protože používá program Javascript s názvem Selenium Core. Toto Selenium Core je ten, který přímo ovládá prohlížeč, ne vás.
3. Interakce v reálném životě
WebDriver interaguje s prvky stránky realističtěji. Například pokud máte na stránce, kterou testujete, zakázané textové pole, WebDriver do něj opravdu nemůže zadat žádnou hodnotu, stejně jako to nemůže skutečná osoba.
Selenium Core, stejně jako ostatní kódy JavaScript, má přístup k deaktivovaným prvkům. V minulosti si testeři selenu stěžovali, že Selenium Core dokázal ve svých testech zadat hodnoty do deaktivovaného textového pole. Rozdíly v API
4. API
Selenium RC API je vyzrálejší, ale obsahuje nadbytečnost a často matoucí příkazy . Například většinu času jsou testeři zmatení, zda použít type nebo typeKeys; nebo zda použít click, mouseDown nebo mouseDownAt. Horší je, že různé prohlížeče interpretují každý z těchto příkazů také různými způsoby!
Rozhraní WebDriver API je jednodušší než rozhraní Selenium RC . Neobsahuje nadbytečné a matoucí příkazy.
5. Podpora prohlížeče
WebDriver může podporovat bezhlavý prohlížeč HtmlUnit
HtmlUnit se označuje jako „bezhlavý“, protože se jedná o neviditelný prohlížeč - je bez grafického uživatelského rozhraní.
Jedná se o velmi rychlý prohlížeč, protože netráví čas čekáním na načtení prvků stránky. To zrychluje vaše cykly provádění testu.
Protože je pro uživatele neviditelný, lze jej ovládat pouze automatizovanými prostředky.
Selenium RC nemůže podporovat bezhlavý prohlížeč HtmlUnit. K provozu potřebuje skutečný viditelný prohlížeč.
Omezení WebDriveru
WebDriver nemůže snadno podporovat nové prohlížeče
Nezapomeňte, že WebDriver pracuje na úrovni OS. Nezapomeňte také, že různé prohlížeče komunikují s OS různými způsoby. Pokud vyjde nový prohlížeč, může mít jiný proces komunikace s OS ve srovnání s jinými prohlížeči. Takže, budete muset dát WebDriver Tým nějakou dobu zjistit, že nový proces se dříve, než se jej realizovat v příštím vydání WebDriver.
Je však na týmu vývojářů WebDriveru, aby se rozhodli, zda mají nový prohlížeč podporovat nebo ne.
Selenium RC má zabudovaný generátor výsledků testu
Selenium RC automaticky generuje soubor HTML s výsledky testů . Formát zprávy přednastavil RC sám. Níže se podívejte na příklad této zprávy.
WebDriver nemá žádný vestavěný příkaz, který automaticky generuje soubor výsledků testu . Budete se muset spolehnout na výstupní okno vašeho IDE, nebo vytvořit sestavu sami pomocí možností svého programovacího jazyka a uložit ji jako text, HTML atd.
souhrn
- WebDriver je nástroj pro testování webových aplikací v různých prohlížečích pomocí různých programovacích jazyků.
- Nyní můžete provádět výkonné testy, protože WebDriver umožňuje při navrhování testů používat programovací jazyk podle vašeho výběru.
- WebDriver je díky své jednodušší architektuře rychlejší než Selenium RC .
- WebDriver přímo komunikuje s prohlížečem, zatímco Selenium RC k tomu potřebuje pomoc RC serveru.
- Rozhraní WebDriver je výstižnější než rozhraní Selenium RC.
- WebDriver může podporovat HtmlUnit, zatímco Selenium RC nikoli.
- Jediné nevýhody WebDriveru jsou:
- To nemůže ochotně podporu nových prohlížečů , ale selen RC může.
- To nemá vestavěný příkaz pro automatické generování výsledků testů.