Načítám...
Osobní zkušenosti

Tajemné Selenium (1. díl)

Jelikož v Centru znalostního managementu nezapomínáme na testování svých vytvářených aplikací (stejně jako kontrolu publikovaných procesních diagramů), věnuji několik slov, vět a odstavců fenoménu Selenia. Pojem Selenium nemá v našem slova smyslu nic společného se starořeckou bohyní měsíce a také nejde o důležitý polokov ze skupiny chalkogenů. V našem případě se jedná o komplexní nástroj pro automatické testování webových aplikací, který mám možnost při svých testerských krůčcích v CZM používat.

Podívejme se nyní na důležitý teoretický základ Selenia, který si ve druhém článku rozšíříme o několik praktických ukázek práce v pluginu Selenium IDE, který je využíván ve webovém prohlížeči Mozilla Firefox.

Jak je již napsáno na oficiálních stránkách projektu (http://docs.seleniumhq.org/), Selenium automatizuje prohlížeče – běží na mnoha prohlížečích nebo operačních systémech a může být řízeno různými programovacími jazyky a testovacími frameworky. Suma sumárum je vhodný v případě, pokud chceme vytvářet robustní a na platformě nezávislé automatizované testy a být přitom podrobně informováni o všech odhalených chybách. Další předností Selenia je skutečnost, že se stále vyvíjí a rychle reaguje na vznik nových technologií a webových služeb. Komplexní balík se skládá z několika vzájemně se doplňujících komponent, které si v dalších odstavcích v krátkosti představíme.

Selenium IDE: Jedná se o plugin do Mozilly Firefox, což samo o sobě vypovídá o největší výhodě a zároveň největší nevýhodě použití – zkráceně pro tvorbu automatizovaných testů není potřeba pokročilých znalostí jakéhokoliv programovacího jazyka, ale na druhou stranu jej nemůžeme využít v jiných webových prohlížečích. Blíže se na samotné IDE podíváme ve druhém díle tohoto miniseriálu.

Selenium Remote Control: Umožňuje psát automatické testy v několika programovacích jazycích (Java, Ruby, Python, Perl, PHP, .NET) a spouštět je v různých prohlížečích (nikoliv pouze ve Firefoxu). Automatizované testování se díky zmíněnému nástroji přesouvá do roviny reálného programovacího jazyka a nejenom díky tomu posouvá možnosti Selenia na novou úroveň oproti využití pluginu IDE.

Selenium WebDriver: Umožňuje standardizované spouštění testů na různých prohlížečích, ve kterých je lidské chování simulováno aplikací – Selenium 1.0 + WebDriver = Selenium 2.0. Dvojková verze odsouvá Selenium Server (součást Remote Control) na druhou kolej, neboť přestává být díky WebDriver API potřebný ke spouštění instancí prohlížečů – zavádí se přes operační systém.

Selenium Grid: Umožňuje paralelní spouštění testů na různých strojích, platformách a prostředích. Výhodami Selenium Gridu jsou zejména:

  • paralelní automatizované testování
  • jednoduché aplikování test casů
  • správa testů z centrálního bodu
  • minimalizace údržbového času

Důležitým aspektem správného pochopení Selenia je nutná instalace developerských nástrojů, které pomáhají s rychlým nalezením prvku přes jeho ID, název nebo další charakteristické vlastnosti. Mezi základní zástupce zmíněné skupiny patří:

  • Mozilla Firebug (Mozilla Firefox)
  • Chrome DevTools (Google Chrome)
  • IE Developer Tools (Internet Explorer)

Ať už prvek vyhledáváme přes atributy v kódu, nebo používáme techniky CSS selektorů, XPath či některé další, vždy existuje více možností, jak se k danému problému a výsledkům hledání postavit. Nesmíme zapomínat ani na rychlost zvoleného řešení (např. XPath je pomalejší než CSS selektory). Obecně platí, že čím více testovacích scénářů si uživatel vyzkouší v nějakém testovacím prostředí na vlastní kůži, tím více si svůj nástroj osvojí, což platí samozřejmě také v případě Selenia.

Aniž bych chtěl dělat reklamu tomu či onomu zdroji informací, pokud by měl čtenář článku zájem dozvědět se o Seleniu více, doporučil bych oficiální dokumentaci na stránkách projektu (http://docs.seleniumhq.org/), stejně jako obsáhlou a přitom plynule čtivou publikaci Selenium 2 Testing Tools od Davida Burnse. Člověk se dozví mnoho zajímavých informací, které se nevešly do ani jednoho článku minisérie, především pak o integraci Selenia s některými programovacími jazyky a velké množství developerských tipů.

Pokud jste dočetli článek až do těchto míst, dostali jste se k závěru úvodního dílu minisérie o automatizovaném testování v prostředí nástroje Selenium. Jak bylo podotknuto výše, příště se zaměříme na praktickou ukázku použití pluginu Selenium IDE v prohlížeči Mozilla Firefox.

 

 

Podělte se s ostatními
Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *