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
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 |
|
Selen RC |
|
WebDriver |
|
Selénová mřížka |
|
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
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ě.