1 / 21

Začínáme testovat web pomocí Selenium Školení pro začátečníky

Začínáme testovat web pomocí Selenium Školení pro začátečníky. Co je Selenium IDE. Automatické testování webové aplikace jako černé skříňky Minimální konfigurace Firefox plugin Selenium IDE Viz. HelloWorld – stripes-shop http://selenium-ide.openqa.org/download.jsp.

bridie
Download Presentation

Začínáme testovat web pomocí Selenium Školení pro začátečníky

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Začínáme testovat web pomocí Selenium Školení pro začátečníky

  2. Co je Selenium IDE • Automatické testování webové aplikace jako černé skříňky • Minimální konfigurace • Firefox plugin Selenium IDE • Viz. HelloWorld – stripes-shop http://selenium-ide.openqa.org/download.jsp

  3. 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

  4. Nativní formát testu • Jednoduché HTML • Srozumitelné i pro nevývojáře

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

  6. Selenium command • Jeden řádek v testu • Instrukce pro selenium, co má s aplikací dělat • 1. buňka CommandNázev příkazu (např. type) • 2. buňka Element selectorUrčení elementu na stránce pro provedení příkazu • 3. buňka Další argument pro příkaz

  7. Jak testovat commandy • V selenium IDE napište příkaz • Spusťte příkaz • A) Poklepáním • B) Pomocí klávesové zkratky X • Nápověda k příkazům v Selenium IDE • V Selenium IDE obsahuje jednoduchou Code completion • Karta Reference obsahuje nápovědu

  8. Commands - typy • Actions provádějí uživatelské akce v aplikaci • type • click • select • submit Pozn.: Varianta andWait způsobí počkání na nahrání další stránky (např. clickAndWait) • Assertions ověřují stav aplikace očekávání • assertText • assertTitle • Accessors ukládají stav aplikace do proměnné • storeValue • storeEval • storeAttribute

  9. Práce s formulářem • typenapíše hodnotu do formulářového poleSyntaxe: type <locator> <value>Např.: type name Pavel Jetenský • submit odešle formulářSyntaxe: submit <locator> Např.: submit document.forms[0] • select vybere hodnoty z rolovací nabídkySyntaxe: select <locator> <option label>Např.: select osobySelect Franta • check/uncheck zaškrtne/odškrtne checkboxSyntaxe: check <locator>Např.: check faktura.odberatel.sendNewsletter

  10. 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=<hodnota>Najdi element podle @id, nenajdeš-li pak podle @name • id=<hodnota> najdi element podle @id • name=<hodnota> najdi element podle @name • dom=<hodnota> najdi element podle dom výrazudom=document.forms['myForm'].myDropdown • xpath=<xpath> najdi element podle XPATH výrazuxpath=//table[@id='table1']//tr[4]/td[2] • link=<text odkazu> najdi odkaz (<a>) podle textulink=Odhlásit se

  11. Jak testovat locatory • V selenium IDE napište příkaz • Do druhého políčka příkazu napište element selector • Klepněte na tlačítko u selectoru Find

  12. Locator – zjednodušená syntaxe • Bez locatorType locatorType = Identifiertype identifier=email test@deltax.cz type email test@deltax.cz • Locator začínající na // locatorType = XPath type xpath=//input[@id='e1'] test@deltax.cztype //input[@id='e1'] test@deltax.cz • Locator začínající na document. locatorType = dom click dom=document.images[56]click document.images[56]

  13. Kvízová otázka XPath Studenti mají přednost  • 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

  14. Assertions commands • assertText Test na přítomnost textu ve stránce • assertValue Test na hodnotu ve formuláři • assertTitle Test na titulek stránky (podpora pro nahrání v recorderu) • assertVisible, assertEditable Test na často používané DHTML vlastnosti elementů

  15. Assertions varianty • assertXXX Při nesplnění kontroly test selže a nepokračuje • verifyXXX Při nesplnění kontroly se chyba zaloguje, ale test pokračuje • assertNotXXX,verifyNotXXX Negovaná kontrola • Stejné jako assertXXX, ale kontrola se vyhodnocuje negativně. • Např. assertNotValue email test@deltax.cz – test selže, pokud @value elementu email obsahuje test@deltax.cz • assertVisible Kontrola viditelnosti prvku na stránce • assertEditable Kontrola editovatelnosti prvku na stránce

  16. Možnosti spouštění testů • Ručně • Okno firefox pluginu – jeden test • Pomocí testrunneru – více testů (testsuite)

  17. Kvízová otázka Studenti mají přednost  • 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?

  18. 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>

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

  20. Odkazy • Selenium homepage • Selenium IDE • Selenium Remote Control (used by jUnit sel. tests) • 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.)

  21. Otázky nakonec • Nebojte se a ptejte se 

More Related