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
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!
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
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