Co je selen? Úvod do testování automatizace selenu

Obsah:

Anonim

Co je selen?

Selenium je bezplatný (open-source) automatizovaný testovací rámec používaný k ověření webových aplikací v různých prohlížečích a platformách. K vytvoření testovacích skriptů selenu můžete použít více programovacích jazyků, jako je Java, C #, Python atd. Testování prováděné pomocí nástroje pro testování selenu se obvykle označuje jako testování selenu.

Software Selenium není jen jeden nástroj, ale sada softwaru, přičemž každý kus vyhovuje různým potřebám organizace pro testování kvality Selenium. Zde je seznam nástrojů

  • Selenium Integrated Development Environment (IDE)
  • Dálkové ovládání selenu (RC)
  • WebDriver
  • Selénová mřížka
Úvod do selenu

V tuto chvíli jsou Selenium RC a WebDriver sloučeny do jednoho rámce a tvoří Selenium 2 . Selen 1, mimochodem, odkazuje na selen RC.

Pokud video není přístupné, klikněte sem

V tomto výukovém programu se naučíte:

  • Co je selen?
  • Kdo vyvinul selen?
  • Stejný problém se zásadami původu
  • Zrození selenového dálkového ovládání (Selenium RC)
  • Narození selenové mřížky
  • Narození IDE selenu
  • Zrození WebDriveru
  • Zrození selenu 2
  • Proč tedy název Selen?
  • Stručný úvod Selenium IDE
  • Stručný úvod Selenium Remote Control (Selenium RC)
  • Stručný úvod WebDriver
  • Selénová mřížka
  • Poznámka k podpoře prohlížeče a prostředí
  • Jak si vybrat ten správný selenový nástroj pro vaši potřebu
  • Srovnání mezi selenem a QTP (nyní UFT)
  • Výhody QTP oproti selenu

Kdo vyvinul selen?

Protože Selenium je kolekce různých nástrojů, mělo také různé vývojáře. Níže jsou uvedeny klíčové osoby, které významně přispěly k projektu Selenium

Selenium vytvořil primárně Jason Huggins v roce 2004 . Inženýr ve společnosti ThoughtWorks pracoval na webové aplikaci, která vyžadovala časté testování. Poté, co si uvědomil, že opakované ruční testování jejich aplikací je stále neúčinnější, vytvořil program JavaScriptu, který automaticky ovládal akce prohlížeče. Pojmenoval tento program jako „ JavaScriptTestRunner “.

Když viděl v této myšlence potenciál automatizovat další webové aplikace, vytvořil JavaScriptRunner jako open-source, který byl později přejmenován na Selenium Core .

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

Stejné zásady původu zakazují kódu JavaScript přístup 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á JavaScriptový program „randomScript.js“. Stejná zásada původu povolí randomScript.js přístup pouze 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.

To je důvod, proč před Selenium RC museli testeři instalovat lokální kopie jak Selenium Core (program JavaScript), tak webového serveru obsahujícího testovanou webovou aplikaci, aby patřili do stejné domény

Zrození selenového dálkového ovládání (Selenium RC)

Bohužel; testeři používající Selenium Core museli nainstalovat celou testovanou aplikaci a webový server na své vlastní lokální počítače z důvodu omezení stanovených stejnou zásadou původu. Další inženýr společnosti ThoughtWork, Paul Hammant , se rozhodl vytvořit server, který bude fungovat jako HTTP proxy, aby „oklamal“ prohlížeč, aby věřil, že Selenium Core a testovaná webová aplikace pocházejí ze stejné domény. Tento systém se stal známým jako Selenium Remote Control nebo Selenium 1 .

Narození selenové mřížky

Selenium Grid vyvinul Patrick Lightbody, aby co nejvíce řešil potřebu minimalizovat dobu provádění testu. Zpočátku nazýval systém „ Hostováno QA “. Byl schopen pořizovat snímky obrazovky prohlížeče během významných fází a také odesílat příkazy selenu na různé stroje současně.

Narození IDE selenu

Shinya Kasatani z Japonska vytvořil Selenium IDE , rozšíření Firefoxu, které může automatizovat prohlížeč pomocí funkce záznamu a přehrávání. Přišel s touto myšlenkou k dalšímu zvýšení rychlosti při vytváření testovacích případů. Daroval Selen IDE selen projektu v roce 2006 .

Zrození WebDriveru

Simon Stewart vytvořil WebDriver kolem roku 2006, kdy se prohlížeče a webové aplikace staly výkonnějšími a přísnějšími s programy JavaScriptu, jako je Selenium Core. Jednalo se o první testovací rámec pro různé platformy, který mohl ovládat prohlížeč z úrovně OS.

Zrození selenu 2


V roce 2008 se celý tým Selenium rozhodl sloučit WebDriver a Selenium RC a vytvořit tak výkonnější nástroj s názvem Selenium 2 , jehož jádrem je WebDriver . V současné době se Selenium RC stále vyvíjí, ale pouze v režimu údržby. Většina úsilí projektu Selenium se nyní zaměřuje na Selenium 2.

Proč tedy název Selen?

Název Selenium vycházel ze žertu, který Jason jednou prolomil svému týmu. Během vývoje selenu byl populární automatizovaný testovací rámec populární vytvořený společností Mercury Interactive (ano, společnost, která původně vytvořila QTP před tím, než ji získala společnost HP). Vzhledem k tomu, že selen je dobře známým protijedem na otravu rtutí, Jason navrhl, aby se toho ujali jméno a jeho spoluhráči. Tak jsme mohli tento rámec vyvolat až do současnosti.

Stručný úvod Selenium IDE

Selenium Integrated Development Environment (IDE) je nejjednodušší rámec v sadě Selenium a je nejjednodušší se ho naučit . Jedná se o plugin Firefoxu, který si můžete nainstalovat stejně snadno jako u jiných pluginů. Vzhledem ke své jednoduchosti by se však Selenium IDE mělo používat pouze jako prototypový nástroj . Pokud chcete vytvořit pokročilejší testovací případy, budete muset použít buď Selenium RC nebo WebDriver.

Stručný úvod Selenium Remote Control (Selenium RC)

Selenium RC byl po dlouhou dobu vlajkovou lodí testovacího rámce celého projektu Selenium. Jedná se o první automatizovaný nástroj pro testování webu, který uživatelům umožňuje používat programovací jazyk, který upřednostňují . Od verze 2.25.0 může RC podporovat následující programovací jazyky:

  • Jáva
  • C#
  • PHP
  • Krajta
  • Perl
  • Rubín

Stručný úvod WebDriver

WebDriver se v mnoha ohledech osvědčil jako lepší než Selenium IDE a Selenium RC . Implementuje modernější a stabilnější přístup k automatizaci akcí prohlížeče. WebDriver se na rozdíl od Selenium RC nespoléhá na JavaScript pro testování automatizace selenu. Ovládá prohlížeč přímou komunikací s ním.

Podporované jazyky jsou stejné jako v Selenium RC.

  • Jáva
  • C#
  • PHP
  • Krajta
  • Perl
  • Rubín

Selénová mřížka

Selenium Grid je nástroj používaný společně se Selenium RC k provádění paralelních testů na různých počítačích a různých prohlížečích současně. Paralelní provedení znamená spuštění více testů najednou.

Funkce:

  • Umožňuje současné spuštění testů ve více prohlížečích a prostředích.
  • Šetří čas nesmírně.
  • Využívá koncept rozbočovače a uzlů . Rozbočovač funguje jako centrální zdroj příkazů selenu pro každý k němu připojený uzel.

Poznámka k podpoře prohlížeče a prostředí

Z důvodu jejich architektonických rozdílů podporují Selenium IDE, Selenium RC a WebDriver různé sady prohlížečů a operačních prostředí.

Selen IDE WebDriver
Podpora prohlížeče Mozilla Firefox Internet Explorer verze 6 až 11, 32bitová i 64bitová verze Microsoft Edge verze 12.10240 a vyšší (částečná podpora některých vyvíjených funkcí) Firefox 3.0 a vyšší Google Chrome 12.0. a vyšší Opera 11.5 a vyšší Android - 2.3 a vyšší pro telefony a tablety (zařízení a emulátory) iOS 3+ pro telefony (zařízení a emulátory) a 3.2+ pro tablety (zařízení a emulátory) HtmlUnit 2.9 a vyšší
Operační systém Windows, Mac OS X, Linux Všechny operační systémy, kde lze spustit výše uvedené prohlížeče.

Poznámka: Selenium WebDriver je označován jako nástupce Selenium RC, který byl zastaralý a oficiálně oznámený SeleniumHQ.

Jak si vybrat ten správný selenový nástroj pro vaši potřebu

Nástroj Proč si vybrat?

Selen IDE

  • Dozvědět se více o konceptech automatizovaného testování a selenu, včetně:
  • Selenské příkazy, jako je typ, otevření, clickAndWait, potvrzení, ověření atd.
  • Lokátory jako id, name, xpath, css selector atd.
  • Spouštění přizpůsobeného kódu JavaScript pomocí runScript
  • Export testovacích případů v různých formátech.
  • Vytvářet testy s malou nebo žádnou předchozí znalostí programování.
  • Chcete-li vytvořit jednoduché testovací případy a testovací sady, které můžete později exportovat do RC nebo WebDriver.
  • Testovat webovou aplikaci pouze proti Firefoxu a Chrome.

Selen RC

  • Navrhnout test pomocí expresivnějšího jazyka než selenština
  • Spuštění testu proti různým prohlížečům (kromě HtmlUnit) v různých operačních systémech.
  • Nasazení testů do více prostředí pomocí Selenium Grid.
  • Chcete-li otestovat svou aplikaci proti novému prohlížeči, který podporuje JavaScript.
  • Testování webových aplikací se složitými scénáři založenými na AJAX.

WebDriver

  • Při navrhování testovacího případu použít určitý programovací jazyk.
  • K testování aplikací, které jsou bohaté na funkce založené na AJAX.
  • Provádět testy v prohlížeči HtmlUnit.
  • Chcete-li vytvořit přizpůsobené výsledky testu.

Selénová mřížka

  • Chcete-li spouštět své skripty Selenium RC ve více prohlížečích a operačních systémech současně.
  • Chcete-li spustit obrovskou testovací sadu, musíte ji dokončit v co nejkratší možné době.

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

Quick Test Professional (QTP) je patentovaný automatizovaný testovací nástroj, který dříve vlastnila společnost Mercury Interactive, než jej v roce 2006 získala společnost Hewlett-Packard . Sada Selenium Tool Suite má oproti QTP mnoho výhod, jak je podrobně popsáno níže -

Výhody a výhody selenu oproti QTP

Selen QTP
Open source , zdarma k použití a zdarma. Komerční .
Vysoce rozšiřitelné Omezené doplňky
Může spouštět testy napříč různými prohlížeči Lze spustit testy pouze ve Firefoxu , Internet Exploreru a Chrome
Podporuje různé operační systémy Lze použít pouze ve 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
Dokáže provádět testy, když je prohlížeč minimalizovaný Potřebuje, aby byla testovaná aplikace viditelná na ploše
Může provádět testy paralelně . Lze provádět pouze paralelně, ale s použitím Quality Center, což je opět placený produkt.

Výhody QTP oproti selenu

Výhody QTP oproti selenu
QTP Selen
Může testovat webové i desktopové aplikace Lze testovat pouze webové aplikace
Dodává se s integrovaným úložištěm objektů Nemá žádné vestavěné úložiště objektů
Automatizuje rychleji než selen, protože se jedná o plně vybavené IDE. Automatizuje pomaleji, protože nemá nativní IDE a pro vývoj lze použít pouze IDE třetí strany
Testování na základě dat je snazší, protože má integrované globální a místní datové tabulky . Testování na základě dat je těžkopádnější, protože při nastavování hodnot testovacích dat se musíte spoléhat na možnosti programovacího jazyka
Může přistupovat k ovládacím prvkům v prohlížeči (například panel Oblíbené, panel Adresa, tlačítka Zpět a Vpřed atd.) Nelze získat přístup k prvkům mimo testovanou webovou aplikaci
Poskytuje profesionální zákaznickou podporu Není nabízena žádná oficiální uživatelská podpora.
Má nativní schopnost exportovat testovací data do externích formátů Nemá nativní schopnost exportovat runtime data do externích formátů
Je vytvořena podpora parametrizace Parametrizaci lze provést pomocí programování, ale je obtížné ji implementovat.
Protokoly o zkoušce se generují automaticky Žádná nativní podpora pro generování testů / hlášení o chybách.

Ačkoli je zřejmé, že QTP má pokročilejší funkce, selen převažuje nad QTP ve třech hlavních oblastech:

  • Cena (protože selen je zcela zdarma)
  • Flexibilita (díky řadě programovacích jazyků, prohlížečů a platforem, které podporuje)
  • Paralelní testování (něco, čeho je QTP schopen, ale pouze s využitím Quality Center)

souhrn

  • Celá sada softwaru pro testování selenu se skládá ze čtyř komponent:
  • Selenium IDE, doplněk Firefoxu, který můžete použít pouze při vytváření relativně jednoduchých testovacích případů a testovacích sad.
  • Dálkové ovládání selenu, známé také jako Selenium 1, což je první nástroj selenu, který uživatelům umožňuje používat programovací jazyky při vytváření složitých testů.
  • WebDriver, 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ě OS.
  • Selenium Grid je také nástroj, který se používá se Selenium RC k provádění paralelních testů v různých prohlížečích a operačních systémech.
  • Selenium RC a WebDriver byly sloučeny a vytvořily Selenium 2.
  • Selen je z hlediska nákladů a flexibility výhodnější než QTP. Také vám umožňuje paralelně spouštět testy, na rozdíl od QTP, kde můžete testovat pouze postupně.