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

F4752a6b61058697907feeb64051836c?s=128

Andreas Monschau

November 16, 2015
Tweet

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. andreas@diemonschaus.de amonschau@haeger-consulting.de 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