Beschreibung
Selenium gehört heute zu den am meisten verwendeten Tools im Bereich der Testautomatisierung. Quasi kein modernes Software-Projekt setzt nicht auf einen Tets-Stack, der nicht mindestens Selenium oder dessen Verwandte, wie Protractor, enthält. Gleichzeitig bemerkt man aber häufig, dass Themen aus der klassischen Software-Entwicklung, wie Architektur und Coding-Guidelines, in Selenium Projekten noch nicht umfassend Einzug gehalten haben. Dies führt auf die lange Sicht aber dazu, dass das Selenium-Projekt fragil und nicht mehr wartbar wird. Flackernde Tests und ein verringertes Vertrauen in die Testergebnisse sind dann die Folge. In diesem Kurs setzen wir uns mit den Grundlagen von Oberflächentests mit Selenium auseinander. Die Teilnehmer bekommen eine theoretische Einführung, wie und in welchem Umfang man auf Selenium als Testwerkzeug setzen sollte und setzen praktisch ein Projekt auf. Dabei werden Architekturmuster wie Page-Objects und Screenplay vermittelt. Ein besonderes Augenmerk liegt auf dem Thema Stabilität der Tests. Der Kurs behandelt die klassischen Stolperfallen wie Asynchronitäten und Lokatoren und gibt den Teilnehmer das Rüstzeug an die Hand, damit ihr nächstes Selenium Projekt ein voller Erfolg wird.
Inhalt
- Was ist Selenium und wie funktioniert es?
- Wie viele Oberflächentests sind sinnvoll für mein Projekt?
- Wie setze ich ein Projekt mit Selenium korrekt auf?
- Welche Architekturpatterns gibt es für Seleniumprojekte?
- Wie gehe ich mit Asynchronitäten um?
- Wie kann ich Elemente am besten identifizieren?
Zielgruppe
- Alle, die mit Test und/oder Entwicklung zu tun haben. Der konzeptionelle Teil adressiert eher die Bedürfnisse von Testmanagern zu verstehen, wie man Testautomatisierung auf der Oberfläche sinnvoll einsetzen kann. Für Entwickler und technische Tester wird der praktische Teil von besonderem Interesse sein, da dort gemeinhin bekannte Probleme von Selenium Tests behandelt werden.
Voraussetzungen
Ein technisches Grundverständnis aktueller Vorgehensweisen und Konzepte rund um Softwareentwicklung wie Architekturen und das Zusammenspiel von Front- und Backend bei Webanwendungen. Für den praktischen Teil sind Java-Kenntnisse von Vorteil, aber kein Muss.
Durchführung
Firmenintern auf Anfrage