Špička v každém směru IT 3 Začínáme testovat web pomocí Selenium Školení pro začátečníky.

Slides:



Advertisements
Podobné prezentace
Makra v Excelu.
Advertisements

ŘÍDÍCÍ STRUKTURY - PODMÍNKY
Pomůcka pro tvorbu prezentací závěrečné a diplomové práce
Co je to uživatelské menu? Ve WinBase si můžeme ke každé aplikaci vytvořit vlastní menu, které po otevření nahradí standardní menu WinBase. Toto uživatelské.
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í.
Technologie pro publikování na webu 1 Ing. Jiří Štěpánek.
Tvorba WWW stránek ÚVOD
Formuláře jsou důležitou součástí stránek, slouží:  k přihlašování k některým stránkám (eshopy, bakaláři, diskuze na webu apod.)  k odeslání údajů do.
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.
Tvorba internetových aplikací v XHTML 2.0, XForms a XHTML Print Autor: Adam Zluky, Vedoucí práce: PaedDr. Petr Pexa, JČU, 2008 Diplomová práce.
HYPERTEXT PREPROCESSOR. JAZYK PHP. Jazyk PHP (Hypertext PreProcessor) je intepretovaný jazyk určený pro web. Je celkem jednoduchý, snadno přenositelný.
Dajbych Václav Pole Další stránku vyvoláte levým kliknutím na Vaší myš, nebo popřípadě rolovacím kolečkem.
Softwarový systém DYNAST
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.
VY_32_INOVACE_In 6.,7.17 PowerPoint – snímky
Prezentační nástroj Open Office, Impress ZÁKLADY PRÁCE Předmět: Informatika Ročník: 6.ročník Klíčová slova: Nová prezentace, snímek, průvodce prezentací,
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.
OS Windows. Tento operační systém byl vytvořen pro snazší ovládání počítače běžnými uživateli. Například stačí jednou definovat připojená zařízení (tiskárny…)
TNPW1 Cvičení
Selenium testování GUI
Úvod. školní: příprava na předmět Databázové systémy praktický: webové aplikace databázové systémy základy vývoje webových aplikací od návrhu databáze.
PHP – Základy programování

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.
Pravidla a doporučení pro názvy souborů
MS ACCESS - FORMULÁŘE Databázové systémy.
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é.
WWW – hypertextový informační systém
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Anotace Žák dokáže označit text do bloku v aplikaci MS Word Autor Petr Samec Jazyk Čeština Očekávaný výstup Dokáže označit text různými způsoby Speciální.
2OP483 Manažerská informatika 3Access 2013Snímek 1 2OP483 Manažerská informatika 3 Microsoft Office Access doc.
Základy práce na PC Ing. Jan Roubíček.
POWER POINT 1 Základní pojmy Power Point - základní pojmy.
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
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.
Upozornění (systémová) Menu Vyhledávací kritéria pro úkoly Záhlaví tabulky –možnost řazení podle sloupců Stránkování Stav úkolu| Atributy.
WORD 2010 Popis prostředí – 1. část. Název a adresa školy: Střední odborné učiliště stavební, Opava, příspěvková organizace, Boženy Němcové 22/2309, 746.
ACCESS SESTAVY Ing. Jana Horáková IKT MS Office
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Testování s TestComplete
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Ivana Topolová VŠE v Praze
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,
Martina Braunerová.  Trénovat řadu kompetencí z oblasti algoritmizace (oddálení vykonání příkazu, ladění programu, dekompozice problému…)  Naučit.
Tvorba webu Zdeněk Malý.
MS EXCEL Charakteristika
Využití sestavy Zobrazení a typy Části sestavy Vytvoření sestavy Ovládací prvky.
Průvodní list Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Vzdělávací materiál: Prezentace – zápis pro žáky Určen pro: 3. ročník oboru.
Microsoft FRONT PAGE Šablona 32 VY_32_INOVACE_19_10_Front Page.
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á.
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Jak na aktuality.
Prezentační nástroj Open Office, Impress ZÁKLADY PRÁCE
Připravil: Ing. Jan Kolomazník, Ph.D.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Internetové publikování Dynamické HTML
Web Application Scanning
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Transkript prezentace:

špička v každém směru IT 3 Začínáme testovat web pomocí Selenium Školení pro začátečníky

IT 3 špička v každém směru Co je Selenium IDE Automatické testování webové aplikace jako černé skříňky Automatické testování webové aplikace jako černé skříňky Minimální konfigurace Minimální konfigurace Firefox plugin Selenium IDE Firefox plugin Selenium IDESelenium IDESelenium IDE Viz. HelloWorld – stripes-shop Viz. HelloWorld – stripes-shophttp://selenium-ide.openqa.org/download.jsp

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

IT 3 špička v každém směru Nativní formát testu Jednoduché HTML Jednoduché HTML Srozumitelné i pro nevývojáře Srozumitelné i pro nevývojáře <tr><td>type</td><td>jusername</td><td>vjohn</td></tr><tr><td>type</td><td>jpassword</td><td>vjohn</td></tr><tr><td>clickAndWait</td><td>login</td><td></td></tr>

IT 3 špička v každém směru Testování více prohlížečů Jeden test lze spustit proti Jeden test lze spustit proti Exploreru Exploreru Firefoxu Firefoxu

IT 3 špička v každém směru Selenium command Jeden řádek v testu Jeden řádek v testu Instrukce pro selenium, co má s aplikací dělat Instrukce pro selenium, co má s aplikací dělat 1. buňkaCommand Název příkazu (např. type) 1. buňkaCommand Název příkazu (např. type) 2. buňkaElement selector Určení elementu na stránce pro provedení příkazu 2. buňkaElement selector Určení elementu na stránce pro provedení příkazu 3. buňkaDalší argument pro příkaz 3. buňkaDalší argument pro příkaz <tr><td>type</td><td>jusername</td><td>vjohn</td></tr>

IT 3 špička v každém směru Jak testovat commandy V selenium IDE napište příkaz V selenium IDE napište příkaz Spusťte příkaz Spusťte příkaz A) Poklepáním A) Poklepáním B) Pomocí klávesové zkratky X B) Pomocí klávesové zkratky X Nápověda k příkazům v Selenium IDE Nápověda k příkazům v Selenium IDE V Selenium IDE obsahuje jednoduchou Code completion V Selenium IDE obsahuje jednoduchou Code completion Karta Reference obsahuje nápovědu Karta Reference obsahuje nápovědu

IT 3 špička v každém směru Commands - typy Actionsprovádějí uživatelské akce v aplikaci Actionsprovádějí uživatelské akce v aplikaci type type click click select select submit submit Pozn.: Varianta andWait způsobí počkání na nahrání další stránky (např. clickAndWait) Assertionsověřují stav aplikace očekávání Assertionsověřují stav aplikace očekávání assertText assertText assertTitle assertTitle Accessorsukládají stav aplikace do proměnné Accessorsukládají stav aplikace do proměnné storeValue storeValue storeEval storeEval storeAttribute storeAttribute

IT 3 špička v každém směru Práce s formulářem typenapíše hodnotu do formulářového pole Syntaxe: type Např.: typenamePavel Jetenský typenapíše hodnotu do formulářového pole Syntaxe: type Např.: typenamePavel Jetenský submitodešle formulář Syntaxe: submit Např.: submitdocument.forms[0] submitodešle formulář Syntaxe: submit Např.: submitdocument.forms[0] selectvybere hodnoty z rolovací nabídky Syntaxe: select Např.: select osobySelect Franta selectvybere hodnoty z rolovací nabídky Syntaxe: select Např.: select osobySelect Franta check/uncheckzaškrtne/odškrtne checkbox Syntaxe: check Např.: check faktura.odberatel.sendNewsletter check/uncheckzaškrtne/odškrtne checkbox Syntaxe: check Např.: check faktura.odberatel.sendNewsletter

IT 3 špička v každém směru Element locator Určuje objekt v HTML stránce pro provedení příkazu Více možností pro locatorType – identifier, id, name, dom, xpath, link, css identifier= Najdi element nenajdeš-li pak identifier= Najdi element nenajdeš-li pak id= najdi element id= najdi element name= najdi element name= najdi element dom= najdi element podle dom výrazu dom=document.forms['myForm'].myDropdown dom= najdi element podle dom výrazu dom=document.forms['myForm'].myDropdown xpath= najdi element podle XPATH výrazu xpath= najdi element podle XPATH výrazu link= najdi odkaz ( ) podle textu link=Odhlásit se link= najdi odkaz ( ) podle textu link=Odhlásit se Syntaxe: locatorType=argument

IT 3 špička v každém směru Jak testovat locatory V selenium IDE napište příkaz V selenium IDE napište příkaz Do druhého políčka příkazu napište element selector Do druhého políčka příkazu napište element selector Klepněte na tlačítko u selectoru Find Klepněte na tlačítko u selectoru Find

IT 3 špička v každém směru Locator – zjednodušená syntaxe Bez locatorTypelocatorType = Identifier type Bez locatorTypelocatorType = Identifier type type Locator začínající na // locatorType = XPath Locator začínající na // locatorType = XPath type type Locator začínající na document. locatorType = dom Locator začínající na document. locatorType = dom click dom=document.images[56] click document.images[56]

IT 3 špička v každém směru Kvízová otázka XPath V aplikaci máme zobrazenou tuto tabulku 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: 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 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)? 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 Click //tr[td[text()='Jan Hasič']]/td[2]/aJménoAkce Tom Řidič Smazat Jan Hasič Smazat Studenti mají přednost Studenti mají přednost

IT 3 špička v každém směru Assertions commands assertTextTest na přítomnost textu ve stránce assertTextTest na přítomnost textu ve stránce assertValueTest na hodnotu ve formuláři assertValueTest na hodnotu ve formuláři assertTitleTest na titulek stránky (podpora pro nahrání v recorderu) assertTitleTest na titulek stránky (podpora pro nahrání v recorderu) assertVisible, assertEditableTest na často používané DHTML vlastnosti elementů assertVisible, assertEditableTest na často používané DHTML vlastnosti elementů

IT 3 špička v každém směru Assertions varianty assertXXXPři nesplnění kontroly test selže a nepokračuje assertXXXPři nesplnění kontroly test selže a nepokračuje verifyXXXPři nesplnění kontroly se chyba zaloguje, ale test pokračuje verifyXXXPři nesplnění kontroly se chyba zaloguje, ale test pokračuje assertNotXXX,verifyNotXXXNegovaná kontrola assertNotXXX,verifyNotXXXNegovaná kontrola Stejné jako assertXXX, ale kontrola se vyhodnocuje negativně. Stejné jako assertXXX, ale kontrola se vyhodnocuje negativně. Např. assertNotValue – test selže, elementu obsahuje Např. assertNotValue – test selže, elementu obsahuje assertVisibleKontrola viditelnosti prvku na stránce assertVisibleKontrola viditelnosti prvku na stránce assertEditableKontrola editovatelnosti prvku na stránce assertEditableKontrola editovatelnosti prvku na stránce

IT 3 špička v každém směru Možnosti spouštění testů Ručně Ručně Okno firefox pluginu – jeden test Okno firefox pluginu – jeden test Pomocí testrunneru – více testů (testsuite) Pomocí testrunneru – více testů (testsuite)

IT 3 špička v každém směru 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 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? Jak by šlo docílit re-use login sekvence v těchto testech? <tr><td>type</td><td>jusername</td><td>vjohn</td></tr><tr><td>type</td><td>jpassword</td><td>vjohn</td></tr><tr> clickAndWait clickAndWait Prihlasit se"] Prihlasit se"] <td></td></tr> Možné řešení: Použijte JSP kontejner pro testy a jsp:include Studenti mají přednost Studenti mají přednost

IT 3 špička v každém směru Seskupování testů testsuite.html - HTML soubor, který linkuje více testů testsuite.html - HTML soubor, který linkuje více testů<html> Testsuite Example Testsuite Example <body> Etar tests Etar tests Login Login Nový SP Nový SP </body></html>

IT 3 špička v každém směru Praktický příklad (stripes- shop) Vytvoření testů Vytvoření testů Test “Přihlášení” Test “Přihlášení” Test přidání zboži do košíku Test přidání zboži do košíku Test validace formuláře Test validace formuláře Další ukázky – co by vás zajímalo? Další ukázky – co by vás zajímalo? Vytvoření testsuite Spuštění testsuite z test runneru Vytvoření testsuite Spuštění testsuite z test runneru Spuštění testu z junit Spuštění testu z junit Re-use login sekvence pomocí jsp:include Re-use login sekvence pomocí jsp:include Spuštění testu proti Internet Explorer Spuštění testu proti Internet Explorer Best practices pro psaní snadno udržovatelných testů Best practices pro psaní snadno udržovatelných testů

IT 3 špička v každém směru Odkazy Selenium homepage Selenium homepage Selenium homepage Selenium homepage Selenium IDE Selenium IDE Selenium IDE Selenium IDE Selenium Remote Control (used by jUnit sel. tests) Selenium Remote Control (used by jUnit sel. tests) Selenium Remote Control Selenium Remote Control Selenium-RC and Continuous Integration Selenium-RC and Continuous Integration Selenium-RC and Continuous Integration Selenium-RC and Continuous Integration Selenium testování GUI –přednáška o Seleniu, obsahující některá pokročilejší témata (např. best practices, spouštění testů přes ANT nebo jUnit atp.) Selenium testování GUI –přednáška o Seleniu, obsahující některá pokročilejší témata (např. best practices, spouštění testů přes ANT nebo jUnit atp.) Selenium testování GUI Selenium testování GUI

IT 3 špička v každém směru Otázky nakonec Nebojte se a ptejte se Nebojte se a ptejte se