Co je to Selenium? Úvod do Selenium Testování automatizace

Co je to Selenium?

Selenium je bezplatný (open-source) automatizovaný testovací rámec používaný k ověřování webových aplikací napříč různými prohlížeči a platformami. Můžete použít více programovacích jazyků jako např Java, C#, Pythonatd. vytvořit Selenium Testovací skripty. Testování se provádí pomocí Selenium testovací nástroj je obvykle označován jako Selenium Testování.

Selenium Sada nástrojů

Selenium Software není jen jeden nástroj, ale sada softwaru, z nichž každý vyhovuje něčemu jinému Selenium Potřeby organizace testování kvality. Zde je seznam nástrojů

  • Selenium Integrované vývojové prostředí (IDE)
  • Selenium Dálkové ovládání (RC)
  • webový ovladač
  • Selenium Mřížka

Selenium Sada nástrojů

Momentálně, Selenium RC a WebDriver jsou sloučeny do jednoho rámce a tvoří se Selenium 2. Selenium 1, mimochodem, odkazuje Selenium RC.

Video Tutorial Selenium

klikněte zde pokud video není přístupné

Kdo se vyvíjel Selenium?

Od Selenium je sbírka různých nástrojů, měla také různé vývojáře. Níže jsou uvedeny klíčové osoby, které do projektu významně přispěly Selenium Projekt

Rozvinutý Selenium

Především, Selenium byl vytvořil Jason Huggins v roce 2004. Inženýr v ThoughtWorks pracoval na webové aplikaci, která vyžadovala časté testování. Když si uvědomil, že opakované ruční testování jejich aplikace je stále neefektivnější, vytvořil a JavaScénář program, který by automaticky řídil akce prohlížeče. Tento program nazval „JavaScriptTestRunner. "

Viděl potenciál v této myšlence pomoci automatizovat další webové aplikace, udělal JavaScriptRunner open-source, který byl později přejmenován Selenium Jádro. Pro ty, kteří mají zájem prozkoumat další možnosti testování webových aplikací, se podívejte na tyto Selenium alternativy.

Stejný problém se zásadami původu

Zásady stejného původu zakazují JavaKód skriptu z přístupu k prvkům z domény, která se liší od místa, kde byl spuštěn. Příklad, HTML kód na www.google.com používá a JavaSkriptovací program „randomScript.js“. Stejná zásada původu umožní pouze randomScript.js přistupovat na stránky v rámci google.com, jako jsou google.com/mail, google.com/login nebo google.com/signup. Nemůže však přistupovat na stránky z různých webů, jako je yahoo.com/search nebo guru99.com, protože patří do různých domén.

Stejný problém se zásadami původu

To je důvod, proč před Selenium RC, testeři potřebovali nainstalovat místní kopie obou Selenium Jádro (a JavaScript program) a webový server obsahující testovanou webovou aplikaci, aby patřily do stejné domény

Narození Selenium Dálkové ovládání (Selenium RC)

Paul Hammant

Bohužel; používající testery Selenium Core muselo nainstalovat celou testovanou aplikaci a webový server na své vlastní místní počítače kvůli omezením uloženým společností stejná politika původu. Takže další inženýr z ThoughtWork, Paul Hammant, se rozhodl vytvořit server, který bude fungovat jako HTTP proxy, aby „obelstil“ prohlížeč, aby tomu uvěřil Selenium Core a testovaná webová aplikace pocházejí ze stejné domény. Tento systém se stal známým jako Selenium dálkové ovládání or Selenium 1.

Narození Selenium Mřížka

Patrik Lightbody

Selenium Grid byl vyvinut společností Patrik Lightbody řešit potřebu co možná nejvíce minimalizovat dobu provádění testů. Původně nazval systém „Hostované QA.“ Byl schopen zachytit snímky obrazovky prohlížeče během významných fází a také odesílání Selenium příkazy různým strojům současně.

Narození Selenium IDE

Shinya Kasatani

Shinya Kasatani Japonska vytvořil Selenium IDE, je Firefox a rozšíření Chrome, které dokáže automatizovat prohlížeč pomocí funkce nahrávání a přehrávání. S tímto nápadem přišel, aby dále zvýšil rychlost vytváření testovacích případů. Daroval Selenium IDE do Selenium Projekt v 2006.

Zrození WebDriveru

Simon Stewart

Simon Stewart vytvořil WebDriver cca 2006 kdy byly prohlížeče a webové aplikace stále výkonnější a více omezující JavaSkriptovací programy jako Selenium Jádro. Byl to první multiplatformní testovací rámec, který dokázal ovládat prohlížeč z úrovně OS.

Narození Selenium 2

In 2008, Celý Selenium Tým se rozhodl sloučit WebDriver a Selenium RC k vytvoření výkonnějšího nástroje tzv Selenium 2s Jádrem je WebDriver. V současné době, Selenium RC se stále vyvíjí, ale pouze v režimu údržby. Většina Selenium Úsilí projektu se nyní soustředí na Selenium 2.

Tak proč ten název Selenium?

Název Selenium vyšel z vtipu, který Jason jednou prohodil svému týmu. Během Selenium's vývoj, další automatické testování framework byl populární vyroben společností tzv Mercury interaktivní (ano, společnost, která původně vyráběla QTP, než ji získala HP). Od té doby Selenium je známým protijedem Mercury otravy, Jason navrhl to jméno a jeho spoluhráči to vzali. Tak jsme museli nazývat tento rámec až do současnosti.

Proč Jméno Selenium

Co je to Selenium IDE?

Selenium Integrované vývojové prostředí (IDE) je nejjednodušší rámec v Selenium apartmá a je nejsnadnější se to naučit. Jedná se o Chrome a Firefox plugin které můžete nainstalovat stejně snadno jako s jinými pluginy. Díky své jednoduchosti však Selenium IDE by se mělo používat pouze jako a prototypovací nástroj. Pokud chcete vytvořit pokročilejší testovací případy, budete muset použít kterýkoli z nich Selenium RC nebo WebDriver.

Selenium IDE

Co je to Selenium Dálkové ovládání (Selenium RC)?

Selenium RC byl vlajková loď testovacího rámce celku Selenium projekt na dlouhou dobu. Toto je první automatizovaný testování webu nástroj, který umožňuje uživatelům používat programovací jazyk, který preferují. Od verze 2.25.0 může RC podporovat následující programovací jazyky:

Selenium Dálkové ovládání (Selenium RC)

Co je WebDriver?

WebDriver se ukazuje jako lepší než Selenium IDE a Selenium RC v mnoha ohledech. Implementuje modernější a stabilnější přístup k automatizaci akcí prohlížeče. WebDriver, na rozdíl od Selenium RC, nespoléhá na JavaSkript pro Selenium Testování automatizace. Ovládá prohlížeč tak, že s ním přímo komunikuje.

Podporované jazyky jsou stejné jako v Selenium RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Rubín

Webdriver

Co je to Selenium Mřížka?

Selenium Mřížka je nástroj používá se společně s Selenium RC spustit paralelní testy na různých počítačích a v různých prohlížečích najednou. Paralelní provádění znamená spuštění více testů najednou.

Funkce:

  • umožňuje simultánní běh testů in více prohlížečů a prostředí.
  • Šetří čas obrovsky.
  • Využívá hub-and-nodes pojem. Hub funguje jako centrální zdroj Selenium příkazy každému připojenému uzlu.

Selenium Podpora prohlížeče a prostředí

Kvůli jejich architektonickým rozdílům, Selenium SDI, Selenium RC a WebDriver podporují různé sady prohlížečů a operačních prostředí.

  Selenium IDE webový ovladač
Podpora prohlížeče Mozilla Firefox a Chrome

Google Chrome 12+

Firefox

Internet Explorer 7+ a Edge

Safari, 

HtmlUnit a PhantomUnit

Operasystém Windows, Mac OS X, Linux Všechny operační systémy, kde lze spustit výše uvedené prohlížeče.

Poznámka: Opera Ovladač již nefunguje

Jak si vybrat správně Selenium Nástroj pro vaši potřebu

Nástroj Proč si vybrat?
Selenium IDE
  • Chcete-li se dozvědět o konceptech automatického testování a Selenium, Včetně:
  • Selenese příkazy, jako je typ, otevřít, kliknout a počkat, potvrdit, ověřit atd.
  • Lokátory jako id, jméno, xpath, css selektor atd.
  • Provádění přizpůsobené JavaSkriptujte kód pomocí runScriptu
  • Export testovacích případů v různých formátech.
  • Vytvořit testy s malými nebo žádnými předchozími znalostmi v programování.
  • Chcete-li vytvořit jednoduché testovací případy a testovací sady, které můžete později exportovat do RC nebo WebDriver.
  • Chcete-li otestovat webovou aplikaci proti Firefox a pouze Chrome.
Selenium RC
  • Navrhnout test pomocí výraznějšího jazyka než selenština
  • Chcete-li spustit test proti různým prohlížečům (kromě HtmlUnit) na různých operačních systémech.
  • Chcete-li nasadit své testy do více prostředí pomocí Selenium Mřížka
  • Chcete-li otestovat aplikaci proti novému prohlížeči, který podporuje JavaSkript.
  • Testování webových aplikací pomocí složitých scénářů založených na AJAX.
webový ovladač
  • Chcete-li použít určitý programovací jazyk při navrhování vašeho testovacího případu.
  • Testování aplikací, které jsou bohaté na funkce založené na AJAX.
  • Chcete-li provést testy v prohlížeči HtmlUnit.
  • Chcete-li vytvořit přizpůsobené výsledky testů.
Selenium Mřížka
  • Chcete-li spustit svůj Selenium RC skripty ve více prohlížečích a operačních systémech současně.
  • Chcete-li spustit rozsáhlou testovací sadu, je třeba ji dokončit co nejdříve.

Srovnání mezi Selenium a QTP (nyní UFT)

Quick Test Professional (QTP) je proprietární automatizovaný testovací nástroj dříve vlastněný společností Mercury interaktivní než jej Hewlett-Packard získal v 2006. Jeho pozdějším vlastníkem je MicroFocus a nástroj se přejmenuje na UFT one. The Selenium Tool Suite má mnoho výhod oproti  QTP jak je popsáno níže –

Výhody a přínosy Selenium přes QTP

Selenium QTP
open source, zdarma k použití, a zdarma. Komerční.
Vysoce roztažitelný Omezené doplňky
Může provádět testy napříč různé prohlížeče Lze spustit pouze testy Firefox, Internet Explorer si chróm
Podporuje různé operační systémy Lze použít pouze v Windows
Podporuje mobilní zařízení QTP podporuje automatizaci testování mobilních aplikací (iOS a Android) pomocí řešení HP s názvem – HP Mobile Center
Může provádět testy zatímco ο prohlížeč je minimalizován Aby byla aplikace viditelná na ploše, potřebuje mít testovanou aplikaci
Může provádět testy paralelně. Lze spustit pouze paralelně, ale pomocí Quality Center, což je opět placený produkt.

Výhody QTP oproti Selenium

QTP Selenium
Lze testovat webové i desktopové aplikace Může testovat pouze webové aplikace
Dodává se s vestavěné úložiště objektů Nemá vestavěné úložiště objektů
Automatizuje rychleji než Selenium protože se jedná o plně funkční IDE. Automatizuje pomaleji, protože nemá nativní IDE a pro vývoj lze použít pouze IDE třetí strany.
Testování řízené daty je jednodušší provádět, protože má vestavěné globální a místní datové tabulky. Testování řízené daty je těžkopádnější, protože se při nastavování hodnot pro vaše testovací data musíte spolehnout na schopnosti programovacího jazyka
Má přístup k ovládacím prvkům v prohlížeči(jako je panel Oblíbené, Adresa, tlačítka Zpět a Vpřed atd.) Nelze přistupovat k prvkům mimo testovanou webovou aplikaci
Poskytuje profesionální Zákaznická podpora Žádná oficiální uživatelská podpora není nabízena.
Má nativní schopnost exportovat testovací data do externích formátů Nemá žádnou nativní schopnost exportovat data za běhu do externích formátů
Je vytvořena podpora parametrizace Parametrizaci lze provést pomocí programování, ale je obtížné ji implementovat.
Testovací zprávy se generují automaticky Žádná nativní podpora pro generování testovacích/chybových zpráv.

I když je zřejmé, že QTP má pokročilejší možnosti, Selenium převažuje QTP ve třech hlavních oblastech:

  • Stát(protože Selenium je zcela zdarma)
  • Flexibilita(kvůli řadě programovacích jazyků, prohlížečů a platforem, které může podporovat)
  • Paralelní testování(něco, čeho je QTP schopen, ale pouze s použitím Quality Center)

Shrnutí

  • Celá Selenium Software Testing Suite se skládá ze čtyř komponent:
  • Selenium Idea Firefox a doplněk Chrome, který můžete použít pouze při vytváření relativně jednoduchých testovacích případů a testovacích sad.
  • Selenium Dálkové ovládání, také známé jako Selenium 1, je první Selenium nástroj, který uživatelům umožňoval používat programovací jazyky při vytváření složitých testů.
  • WebDriver, je novější průlom, který umožňuje vašim testovacím skriptům komunikovat přímo s prohlížečem, a tím jej ovládat z úrovně operačního systému.
  • Selenium Grid je také nástroj, který se používá s Selenium RC pro provádění paralelních testů napříč různými prohlížeči a operačními systémy.
  • Selenium RC a WebDriver byly sloučeny do formy Selenium 2.
  • Selenium je z hlediska nákladů a flexibility výhodnější než Microfocus UFT One.