Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Webseiten mit Selenium Testen

Webseiten mit Selenium Testen

Testen von Webanwendungen kurz und knackig – wie man seine Tests mit Selenium automatisiert, am Beispiel der Firefox Extension Selenium IDE sowie mit Selenium Webdriver aus Java heraus.

Vortrag vom Webmontag Bonn am 16.11.2015

Andreas Monschau

November 16, 2015
Tweet

More Decks by Andreas Monschau

Other Decks in Programming

Transcript

  1. © 2015 Haeger Consulting Ralf Haeger Webseiten mit
 Selenium testen

    16.11.2015 Andreas Monschau Webmontag Bonn #wmbn 1
  2. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Andreas Monschau Berater bei Haeger Consulting Java-Softwareentwicklung Testmanagement (ISTQB) Testautomatisierung -> Selenium! 2 @andreasmonschau
  3. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium „Selenium automates Browsers“[1] 3 [a1] [a2] [a3] [a4] Selenium WebDriver (& Selenium Grid) Selenium IDE Apache License, Version 2.0
  4. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Umfeld 4 (Software)Test Automatisierter Test Automatisierter Test von
 Weboberflächen
  5. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Softwaretest 5 Softwaretest umfasst zwei Aspekte: Fehlerfindung: Finde möglichst viele Fehler, bevor der Kunde sie findet Qualitätsnachweis: Weise nach, dass sich die Software konform zu den Anforderungen verhält. [2]
  6. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Softwaretest 6 Oder: Vergleiche erwartete mit tatsächlichen Ergebnissen Erwartet: Irgendwas wird gespeichert Nicht erwartet: Programm stürzt ab
  7. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Automatisierte Testdurchführung 7 (Testautomatisierung ist) Die Verwendung einer Software (…) um die Ausführung von Tests zu steuern, tatsächliche mit erwarteten Ergebnissen zu vergleichen, die definierten Vorbedingungen herzustellen sowie weitere Testüberwachungs- und Berichtsfunktionen durchzuführen. [3]
  8. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Anforderungen 8 Anforderung an Testautomatisierung Einfach Erweiter- bar Wieder- verwendbar (Regression)
  9. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Anforderungen 9 Anforderung an automatisierten Test von Weboberflächen Einfach Erweiter- bar Wieder- verwendbar (Regression) Unterstützung verschiedener Umgebungen Unterstützung ansynchronen Verhaltens des Testobjekts [4] „Selenium automates Browsers“[1]
  10. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Was macht nun Selenium? 10 [a2] [a3] [a4] Selenium WebDriver Selenium IDE
  11. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Was macht nun Selenium? 11 [a2] [a3] [a4] Selenium WebDriver Selenium IDE Webseiten testen!
  12. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Testobjekt Testobjekt - https://github.com/vaadin/addressbook 12 [a5]
  13. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Testobjekt Testobjekt - https://github.com/vaadin/addressbook 13 [a5]
  14. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Testobjekt Testobjekt - https://github.com/vaadin/addressbook Prinzipielle Probleme? 14 [a5]
  15. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium Prinzipielle Problematik: • Ein Webelement, mit dem interagiert werden soll, muss eindeutig identifizierbar sein • Wie gehen wir mit dem asynchronen Verhalten des Testobjekts um? 15
  16. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium Prinzipielle Problematik: • Ein Webelement, mit dem interagiert werden soll, muss eindeutig identifizierbar sein 16
  17. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium Identifizierung von Webelementen 17
  18. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Was macht nun Selenium? 18 [a2] [a3] [a4] Selenium WebDriver Selenium IDE
  19. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver
 
 Selenium WebDriver 19 Leichte Erlernbarkeit. Verfügbar für verschiedene Sprachen Unterstützung gängiger Browser [4] [a2] Eigenständige Browserinstanzen 1+1=?
  20. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver - Workflow 20 Beispiel für einen automatisierten
 Selenium WebDriver-Test
  21. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Testobjekt Testobjekt - https://github.com/vaadin/addressbook 21 [a5]
  22. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 22
  23. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 23 WebDriver driver; driver = new FirefoxDriver(); driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
  24. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 24
  25. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 25 driver.get("http://localhost:8080"); Assert.assertEquals("Addressbook",
 driver.getTitle());
  26. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 26 1, 2, 3, 4, 5 OK!
  27. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 27 1, 2, 3, 4, 5 OK! count = driver.findElements(
 By.xpath(„//div[@id=‚addressTable‘]//table[1]//tbody/tr")) .size(); Assert.assertEquals(5, count);
  28. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 28 1, 2, 3, 4, 5 OK!
  29. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 29 1, 2, 3, 4, 5 OK! driver.findElement(By.id("newContact")).click();
  30. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 30 1, 2, 3, 4, 5 OK! driver.findElement(By.id("firstName")).sendKeys("Andreas"); driver.findElement(By.id("lastName")).sendKeys("Monschau");
  31. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 31 1, 2, 3, 4, 5 OK! 1, 2, 3, 4, 5, 6 OK!
  32. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver 32 1, 2, 3, 4, 5 OK! 1, 2, 3, 4, 5, 6 OK! count = driver.findElements(
 By.xpath(„//div[@id=‚addressTable‘]//table[1]//tbody/tr")) .size(); Assert.assertEquals(6, count);
  33. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver - Source 33 https://bitbucket.org/amonschau/seleniumexample
  34. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium WebDriver - DEMO DEMO 34
  35. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Was macht nun Selenium? 35 [a2] [a3] [a4] Selenium WebDriver Selenium IDE
  36. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium IDE • Einfaches und schnelles Capture & Replay • Ermöglicht Debugging • Mögliche Anwendungsfälle: • Reproduktion von Fehlerwirkungen • Prototyping von Testfällen, die später mit Selenium WebDriver umgesetzt werden 36
  37. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium IDE - DEMO DEMO 37
  38. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Selenium - Fazit Selenium WebDriver ist • leicht erlernbar • vielseitig einsetzbar • bietet schnell Ergebnisse • Einarbeitungszeit: ca. 4-5 PT • https://bitbucket.org/amonschau/seleniumexample Selenium IDE ist • geeignet, um Verhalten schnell Reproduzierbar zu machen • im Vergleich zu Selenium WebDriver eingeschränkt • Einarbeitungszeit: ca. 1-1,5 PT
 
 38 [a2] [a3] [a4]
  39. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. [email protected] [email protected] www.haeger-consulting.de https://bitbucket.org/amonschau/ https://speakerdeck.com/andreasmonschau Twitter: @andreasmonschau Xing: Andreas Monschau 39 Vielen Dank!
  40. 16.11.2015 Haeger Consulting • Nachtigallenweg 1 • 53343 Wachtberg Andreas

    Monschau - IT Consultant wmbn_selenium_monschau. Backup: Quellen [1]http://docs.seleniumhq.org/ [2]“Systematisches Testen von Software - Ein Einstieg“, Spillner, 2008, d.punkt-Verlag [3]http://glossar.german-testing-board.info/ [4]„Automatisiertes Testen von Weboberflächen“, A. Monschau, Java Magazin 11.2015, S&S Media [a1]http://docs.seleniumhq.org/images/big-logo.png [a2]http://docs.seleniumhq.org/images/selenium-logo.png [a3]http://docs.seleniumhq.org/images/selenium-grid-logo.png [a4]http://docs.seleniumhq.org/images/selenium-ide-logo.png [a5]https://vaadin.com/documents/10187/10609024/logo500/f2860b46-ab5b-4261-87f3-ada23dbc0d16? t=1437653387470 40