Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Selenium Webdriver - jOpenSpace 2015

743 views

Published on

Moje zkušenosti s psaním UI testů webové aplikace s využitím Selenium Webdriver

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Selenium Webdriver - jOpenSpace 2015

  1. 1. www.fg.cz Selenium Webdriver Michal Franc - @michalfranc
  2. 2. 2 O čem bude řeč? Testování UI webové aplikace End to End testy Funkční / akceptační testy Náhrada ručních testů - automatizace
  3. 3. 3 Co je Selenium Webdriver Webdriver W3C specifikace protokolu pro vzdálené ovládání prohlížeče - http://www.w3.org/TR/webdriver/ Selenium Webdriver 2.0 Nástupce Selenium RC Poskytuje API pro webdriver Java JavaScript Python Ruby C# …
  4. 4. 4 Alternativní nástroje Sahi (JS,Java,Ruby) http://sahipro.com/ CasperJS (JS) http://casperjs.org/ WATIR (Ruby) http://watir.com/ Capybara (Ruby) https://github.com/jnicklas/capybara
  5. 5. 5 Základní ukázka
  6. 6. 6 API – přístup k DOM org.openqa.selenium.SearchContext org.openqa.selenium.By
  7. 7. 7 API – čekání na DOM org.openqa.selenium.support.ui.WebDriverWait
  8. 8. 8 Před prvním testem Co vlastně testovat a jaké testy? Simulujeme uživatele (testera) Testovací scénář Reálné workflow
  9. 9. 9 PageObject pattern Pozor na rychlý začátek Nedělejte to!
  10. 10. 10 PageObject pattern Cíl – vytvořit vrstvu nad obsahem na stránce org.openqa.selenium.support.PageFactory org.openqa.selenium.support.FindBy
  11. 11. 11 PageObject pattern
  12. 12. 12 PageObject pattern – rozšířit na komponenty
  13. 13. 13 PageObject pattern - komponenty Stránku rozložit na malé komponenty
  14. 14. 14 PageObject pattern - komponenty
  15. 15. 15 Reálný test - ukázka
  16. 16. 16 JUnit - Organizace testů - Suite
  17. 17. 17 JUnit – Organizace testů - Rule
  18. 18. 18 Selenium Server Vzdálený browser org.openqa.selenium.remote.RemoteWebDriver org.openqa.selenium.remote.DesiredCapabilities Infrastruktura Více browserů v různých verzích Více systémů Virtualizace vs licence windows
  19. 19. 19 BrowserStack Automate Selenium Grid infrastruktura Podporované prohlížeče a systémy FF, Chrome, IE, Opera, Safari Windows XP, 7, 8, 8.1 / Mac OS X Snow Leopard, Lion, Mountain Lion, Mavericks, Yosemite / Android / iOS https://www.browserstack.com/list-of-browsers-and- platforms?product=automate
  20. 20. 20 BrowserStack Automate
  21. 21. 21 Continuous Integration Build pipeline Change -> Commit -> Compile -> Unit tests -> Deploy to test server -> IT tests -> UI test
  22. 22. 22 Problémy Stabilita Kontrola předpokladů – fail fast DOM – StaleElementException Postranní info Příprava prostředí Testovací data Paralelizace Implementace WebDriver Rozdíly mezi prohlížeči Někdy nutné dělat ošklivé věci Svádí ke zneužití
  23. 23. 23 Dotazy
  24. 24. 24 @michalfranc @EdeeCMS www.edee-cms.cz www.fg.cz

×