Selenium testování GUI

Slides:



Advertisements
Podobné prezentace
Makra v Excelu.
Advertisements

ŘÍDÍCÍ STRUKTURY - PODMÍNKY
IKT PHP PHP Tvorba formuláře - 10 Mgr. Josef Nožička
Ing. Jan Mittner  Ing. Jan Mittner    KH  v případě zájmu vždy po cvičení.
Špička v každém směru IT 3 Produktivita práce s Eclipse.
HTML Formuláře.
Internetové stránky a Internetový prohlížeč
Nové modulové výukové a inovativní programy - zvýšení kvality ve vzdělávání Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem.
PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
Vytváření, použití dávkových souborů
IES – jak na to *** Základní ovládání U stránek s nadpisy různé úrovně se automaticky vytváří obsah Toto je klíčové tlačítko. Klepněte a můžete ihned.
Dajbych Václav Pole Další stránku vyvoláte levým kliknutím na Vaší myš, nebo popřípadě rolovacím kolečkem.
PHP Zpracování formuláře v PHP - 11 Mgr. Josef Nožička IKT PHP
ZAČÍNÁME PRACOVAT S WORDEM 2007
YMUSY1 Multimediální systémy 1 Cvičení 5 Formuláře a ovládací prvky.
Základy práce s počítačem – lekce I. Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU.
Ing. Lukáš Burkoň Debugging 2. Testování 3. Unit testy 2.
Adobe Dreamweaver CS4 Ing. Martin Dosedla.
Registr přechodných pobytů
17.Tabulkový procesor (filtrování a řazení dat, formuláře, podmínky a podmíněné formátování, export a import dat) Barbora Skoumalová 4.A.
Ing.Josef Veselý Označení šablony a vzdělávací sady viz.rozpis.
Úvod do obsahů j pak stisknutím F5 nebo kliknutím na Prezentace > Od začátku spusťte kurz. Na panelu zpráv klikněte na Povolit úpravy, Pokud se videa kurzu.
Tvorba webových aplikací s Apache Maven Využití Mavenu pro efektivní vývoj Jety Pavel Jetenský
Ing. Josef Veselý Označení šablony a vzdělávací sady viz.rozpis.
Špička v každém směru IT 3 Začínáme testovat web pomocí Selenium Školení pro začátečníky.
Michael Juřek Software Architect Microsoft s.r.o.
Technologická středa Continuous Integration with Maven and Hudson Vlastimil Menčík
4IT445 – Testování a ladění v PHP Ing. Jan Mittner
TEXTOVÝ EDITOR.
Ant Připravil: Ing. Jan Kolomazník. strana 2 Proč vznikl Potřeba sestavovat komplexní Nezávisle na platformě Popis založený na xml Spouštění různých úloh.
OSNOVA: a)Programování se soubory b)Záloha databáze v souboru c) Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování.
DHTML Jan Felger. Kapitola 0: Základní tagy Základy HTML © Jan Felger 2005 Úvod Tato prezentace zobrazuje pouze zcela základní minimum znalostí, které.
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
Web 2.0 Štěpán Bechynský Microsoft. Web 2.0 aplikace.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
Práce s operačním systémem
PHP Vytváření formuláře.
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES FORMULÁŘE.
Základy práce na PC Ing. Jan Roubíček.
Základy syntaxe jazyka PHP PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. Typický PHP skript obsahuje: Typický PHP skript.
Základní pojmy (1) Nejpoužívanější internetové prohlížeče: Google Chrome (32.0.x), Mozilla Firefox (27.0), Internet Explorer (11.0.2), Opera (19.0.x),
Střední škola živnostenská Sokolov, příspěvková organizace
PRÁCE S DOTAZY Eva Karmazínová, 4. Y. Postup při vytváření dotazů: 1) Vytvoříte vlastní aplikaci 2) Vytvoříte tabulku v aplikaci 3) Vytvoříte strukturu.
Vzdálené počítačové sítě a programování v prostředí Windows Okruhy ke zkoušce z předmětu: Ing. Zdeněk Votruba LVALVA.
Základní škola a Mateřská škola, Šumná, okres Znojmo OP VK Tematický celek: Informatika Název a číslo učebního materiálu VY _32_INOVACE_04_15.
Formuláře Formuláře uzavíráme do elementů Formuláře uzavíráme do elementů a a Tyto elementy jsou součástí jazyka XHTML, to znamená, že při použití v PHP.
Kreslítko Petr Diviš Zdeněk Papež. Úvod Desktopová („stand-alone“) aplikace Jednoduchý grafický editor  Tvorba a editace základních geometrických objektů.
Moderní škola 2011, CZ.1.07/1.4.00/ Informační a komunikační technologie Internet MS Explorer – oblíbené stránky VY_32_INOVACE_03 Sada 12 Základní.
IDEA Web Systém 5.0 Pavel Bezstarosti IDEA spol. s r.o
© BBMP: BAM015, BAR487, MAL305, POH015 1 Prezentace projektu Adresář kontaktů Autoři: Kateřina Bambušková, BAM015 Martina Bartošíková, BAR487 Alena Malovaná,
Databáze Formuláře VY_32_INOVACE_7B18. Formuláře Umožňují zobrazit data z tabulek uživatelsky vhodným způsobem Mohou být zobrazena data z více tabulek.
Vysoká škola báňská - Technická univerzita Ostrava Hornicko-geologická fakulta Institut ekonomiky a systémů řízení obor Geografické informační systémy.
Převody pojistných kmenů Team4 Ciasnocha Michal, Kokaisl Standa, Mathauser Jan, Molda Milan, Puncman Daniel.
Registrace uživatele na pro užívání webhostingu.
Testování s TestComplete
TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl v rámci projektu ESF CZ.1.07/2.2.00/
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Programování mikropočítačů Práce s PLC Foxtrot. PLC Foxtrot na učebně Pří PLC Foxtrot Tlačítkové panely pro ovládání digitálních vstupů Sedmisegmentovka.
Import dat Access (16). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Databáze ● úložiště dat s definovaným přístupem ● typy struktury – strom, sekvence, tabulka ● sestává z uspořádaných záznamů ● databáze – struktura – záznam.
Testování aplikací v Javě Petr Adámek IBA CZ, s.r.o. © 2010.
Vytvoření rozevíratelného pole Access (13). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Uživatelské testování webu – teorie a praxe
Připravil: Ing. Jan Kolomazník, Ph.D.
iFIS*WebMailer Průvodce produktem
Web Application Scanning
Elektronická pošta.
Transkript prezentace:

Selenium testování GUI

Co je Selenium IDE Automatické testování aplikace jako černé skříňky Minimální konfigurace Firefox plugin Selenium IDE Viz. tutorial video Náš vlastní google search

Pro koho je Selenium IDE? Pro testery Automatizace testování podle testovacích scénářů Testovací scénáře v jednoduché HTML podobě Pro vývojáře Smoke testy buildovacího procesu (např. Ant skriptů) Integrační testování jako součást nočních buildů Testování Ajax částí aplikace a GUI

Nativní formát testu Jednoduché HTML Srozumitelné i pro nevývojáře <tr> <td>type</td> <td>jusername</td> <td>vjohn</td> </tr> <td>jpassword</td> <td>clickAndWait</td> <td>login</td> <td></td>

Testování více prohlížečů Jeden test lze spustit proti Exploreru Firefoxu

Základní commandy save link=Jdi na seznam label=Hasič Často používané příkazy type click save link=Jdi na seznam clickAndWait – klepne a počká, než se nahraje stránka select – výběr hodnoty z rolovací nabídky <select> label=Hasič assertTextPresent – test skončí, pokud selže verifyTextPresent – test pokračuje dál, i když selže Další commandy i s nápovědou najdete v Selenium IDE* okně Formát commandů: JMENO SELECTOR [HODNOTA] Tlačítko k nezaplacení - Find

Možnosti spouštění testů Ručně Okno firefox pluginu – jeden test Pomocí testrunneru – více testů (testsuite) Automaticky Pomocí ANTu Pomocí jUnit Ostatní jazyky Ruby Python PHP …

Best practices Toto je asi nejdůležitější část prezentace! Provádějte reuse částí testů V jUnit Java metoda, např. public void login() V HTML nelze (jak na to viz. další snímek) Raději vytvářejte hodně malých testů, než málo velkých a složitých testů Testy by měli testovat co nejmenší uživatelský scénář Je snazší vypátrat chybu, pokud mi 4 testy z 50ti existujících selžou, než pokud mi selže 1 test ze 2 existujících. Používejte XPath s uživatelským textem jako selectory Špatně: clickAndWait //table[2]/tr[1]/td[4] Dobře: clickAndWait //td[text() = 'Založit Nový SP'] Výsledkem jsou samopopisné, dobře udržovatelné testy

Kvízová otázka Uvažujme, že máme sadu 10ti Seleniových testů v HTML formátu, login sekvence se na začátku každého testu opakuje Jak by šlo docílit re-use login sekvence v těchto testech? <tr> <td>type</td> <td>jusername</td> <td>vjohn</td> </tr> <td>jpassword</td> <td>clickAndWait</td> <td>//input[@value="Prihlasit se"]</td> <td></td> Možné řešení: Použijte JSP kontejner pro testy a jsp:include <jsp:include page="include/login.jsp"/>

Seskupování testů testsuite.html - HTML soubor, který linkuje více testů <html> <head> <title>Testsuite Example</title> </head> <body> <table cellpadding="1" cellspacing="1" border="1"> <tbody> <tr> <td>Etar tests</td> </tr> </tbody> <tr><td><a href="Login.html">Login</a></td></tr> <tr><td><a href="NovySP.html">Nový SP</a></td></tr> </table> </body> </html>

Úskalí 1 – formuláře Formuláře – Recorder nenahrává odeslání formuláře stisknutím klávesy <Enter> Použijte submitForm(formId) command

Úskalí 2 – práce s iframes Práce s iframes - Recorder nenahrává selectFrame command Nutné ručně přidat selectFrame(frameId) Operace v iframe selectFrame(relative=top)

Úskalí 3 – timeout problém ClickAndWait spadne na timeout Může se stát, pokud odezva aplikace je velmi rychlá Stejný problém i s ostatním XxxAndWait commandy Použijte waitForElementPresent Namísto Použijte <tr> <td>clickAndWait</td> <td>save</td> <td></td> </tr> <td>type</td> <td>name</td> <td>Pavel</td> <td>click</td> <td>waitForElementPresent</td>

Kvízová otázka XPath V aplikaci máme zobrazenou tuto tabulku Potřebujeme klepnout na odkaz Smazat u uživatele Jan Hasič. Při nahrávání v Selenium IDE recorder nahrál tento command: click //tr[3]/td[2]/a Jak nahradit XPath na odkaz Smazat, aby fungoval nezávisle na pořadí řádku s Janem Hasičem v tabulce (a byl srozumitelnější, co se děje)? Click //tr[td[text()='Jan Hasič']]/td[2]/a Jméno Akce Tom Řidič Smazat Jan Hasič

Úskalí 4 – mizení testrunneru Aplikace může následujícím Javascriptem zrušit Selenium testrunner window parent.window.location = 'http://www.seznam.cz'; Řešení – použijte multiWindow = true

Další úskalí Při použití https a neplatném certifikátu se test zastaví na varovném hlášení prohlížeče Buď registrovat certifikát u CA nebo pro testy spustit aplikaci na http Pokud aplikace javascriptem otevře popup okno s názvem _new, recorder nenahraje odpovídající selectWindow _new command Buď v aplikaci používejte vlastní jména (např. mywindow) nebo doplňte do testů po nahrání selectWindow _new command Pokud ve firefox použijete zapamatovanou dříve napsanou hodnotu formuláře (form input field history), recorder to nezaznamená Při nahrávání testu vždy hodnotu ručně pište (nepoužívejte form history)

Jak vnořovat testsuite? Z jedné testsuite nelze zavolat jinou testsuite Řešení - TestSuiteGenerator Z adresářové struktury testů automaticky vytvoří testsuite.html Parametrem volání je root složka s testy

Ukázka z praxe Testy pro přerušení servisního požadavku (projekt etar) Bez účasti dodavatele S účastí dodavatele

Odkazy Selenium homepage Selenium-RC and Continuous Integration Selenium IDE Selenium Remote Control (used by jUnit sel. tests) Selenium-RC and Continuous Integration Ajax testing with Selenium using waitForCondition

Otázky nakonec Nebojte se a ptejte se 