Professional Angular Testing: Playwright Edition
Playwright, Jest und Storybook – Die perfekte Kombi für langfristige Qualität
Dieser Workshop deckt alle notwendigen Aspekte für das Testen in Angular ab. Sie lernen nicht nur die verschiedenen Techniken, sondern auch wann man diese anwendet. Ein wesentlicher Bestandteil sind die praktischen Übungen und die anschließenden Diskussionen, wo auch Ihre individuellen Problemstellungen behandelt werden können.
Nach diesem Workshop werden Sie unter anderem in der Lage sein:
- zu verstehen, wann man Unit-, Komponenten-, Integrations- und E2E-Tests anwendet,
- asynchronen Code zu testen,
- mit dem gerenderten DOM zu interagieren,
- den Boilerplate Code durch Einsatz modernster Tools signifikant zu reduzieren,
- das Layout der Komponenten durch Screenshot Tests (Visual Regression Tests) zu testen,
- Ihre E2E-Tests so zu designen, dass sich diese sich nicht gegenseitig beeinflussen,
- instabile E2E-Tests zu vermeiden,
- Ihre Architektur auf Testbarkeit perfekt auszurichten
Highlights
✅ Komplett online – Keine Anreise erforderlich!
✅ Interaktiv: Stellen Sie Fragen und nehmen Sie an Diskussionen teil
✅ Viele Übungen und Live-Coding
✅ Fallstudie dient als Blaupause für eigenen Projekte
✅ Pair-Programming mit Ihrem Trainer
Agenda
Teil 1: End-to-End Tests mit Playwright
Grundlagen
- Technologischer Ansatz: CDP vs. Webdriver
- In-Browser vs. Out-of-Browser-Tests
- Playwright im Vergleich zu Webdriver und Cypress
- Installation & Einrichtung
- Performance durch Parallelisierung
- Code-Generator für einen schnellen Start
- Debugging-Fähigkeiten in VSCode
- Produktiver mit dem UI-Modus
- Analysieren und Finden von Fehlern mit dem Trace Viewer
- Grundlegende Selektion mit page.locator
- Unterschiedliche Selektoren-Engines
- Verkettete, verschachtelte und relative Selektoren
- data-testid vs. a11y-basierte Selektoren
- Aktionen
- Überprüfen mit Web Assertions
Fortgeschritten
- Verschiedenes: test.step, soft Assertions, sequentielle Ausführung
- Clean Code mit Page Objects
- Playwrights „Dependency Injection“: Test-Fixtures
- Netzwerksteuerung mit page.route, page.on(‚request‘) und request
- Speichern von localStorage und Cookies mit Session Storage
- Globales Setup und TearDown mit Projektabhängigkeiten
Teil 2: Unit Tests
Unit Tests für Angular
- Jest vs Jasmine
- Einsatz von Jest
- Asynchronität
- fakeAsync vs. waitForAsync
- Mocking: jest.mock, jest.fn, jest.spyOn
- Tests mit der inject Funktion bzw. TestBed
Testen von Reaktivität
- RxJS Marbles für Pipe Operatoren
- Anwendung von RxJs Marbles in normalen Unit Tests
- Unit Tests in ngrx
Teil 3: Komponenten- und Integrationstests
Grundlagen
- TestBed Konfiguration
- Unterschiede Standalone und NgModules bei TestBed
- Mocking von Komponenten, Direktiven und Pipes mit ng-mocks
- Pro / Contra HttpTestingController
- RouterTestingHarness
Component Testing
- Mounten von Komponenten
- Dynamische Wrapperkomponent
- Setzen von @Input Properties
- Direkter Zugriff auf Angulars DI
Powertools
- Angular Harnesses
- Spectator
- Testing-Library
Teil 4: Test Strategien: Wie testet man richtig?
- Zwei konträre Ansätze: London & Detroit
- Teststrategien: Wann soll ich was verwenden?
- TDD im Frontend?
- Testpokal vs. Testpyramide
- Testbare Architektur
Special: Visuelle Regression
- Screenshottesting mit Playwright
- Storybook
- Infrastruktur für visuelle Regression
Aktuelle Termine
Rezensionen
Individuelle Firmenworkshops
Alle unsere Workshops & Seminare sind jederzeit auch Remote oder In-House verfügbar.
Kontaktieren Sie uns für eine Terminvereinbarung
FAQs zu unseren Workshops
Wie läuft eine Angular-Schulung bei euch ab?
Unsere Seminare sind eine Mischung aus Vortrag, Live-Coding und konkreten Übungen. Gemeinsam setzen wir das Erlernte während des Workshops direkt an einem Beispielprojekt um. Diese Mischung garantiert, dass der Kurs nie langweilig wird und statt grauer Theorie „Hands-On“ gefragt ist.
Für wen sind die Praxis Angular-Schulungen konzipiert?
Unsere Angular-Schulung Struktuiere Einführung richtet sich alle, die künftig Anwendungen mit Angular entwickeln wollen oder dies schon machen und nun die Hintergründe, Zusammenhänge und Building-Blocks des Frameworks besser verstehen wollen.
Die Teilnehmer sollten grundlegende Kenntnisse in der Web-Entwicklung haben (grundlegende Kenntnisse von HTML und JavaScript).
Für fortgeschrittene Angular-Entwickler*innen bieten wir Advanced Angular Seminare und Intensivkurse zu spezifischen Anwendungsfällen.
Wo finden die Praxis Angular-Schulungen statt?
Unsere Angular-Schulungen finden als öffentliche Workshops in Seminarräumen zentraler Hotels in Deutschland, Österreich und der Schweiz statt. In-House Schulungen finden bei euch im Büro oder Seminarraum statt.
Alle Kurse sind auch als Remote-Workshops möglich, wo wir uns online im Virtual Classroom treffen, und die Schulung via Videocalls, Screensharing und gemeinsamen Live-Coding abhalten.
Wer sind die Trainer?
Unsere Schulungen werden von erfahrenen Trainern und Software-Architekten durchgeführt. Wir haben in den letzten Jahren namhafte Firmen – u. a. bekannte Banken, Versicherungen, Industriekonzerne – in Sachen Angular betreut. Zu den Trainern gehören bekannte Konferenzsprecher, Autoren von Büchern und Fachartikeln, Blogger, Google Developer Experts und Hochschuldozenten.
Zu welchen Zeiten finden die Schulungen statt?
Gerade bei dezitierten Firmenschulungen richten wir uns gerne nach euch. Typische Zeiten sind 9:00Uhr bis 16:30/17:00Uhr.
Können wir auch Online-Schulungen buchen?
Auf jeden Fall. Seit der Pandemie ist das sogar unser Hauptgeschäftsmodell und wir haben sehr gute Erfahrungen damit gemacht. Wir nutzen eine Kombination aus Screen-Sharing, interaktiven Online-Whiteboards und verbinden uns auf Wunsch während der Übungen zur Unterstützung auch gerne auf Ihrem Rechner. Wie bei unseren On-Site-Schulungen setzen wir auch hier auf eine Kombination aus kurzen Präsentationen, Diskussionen, Live-Coding und Hands-On-Labs.
Da die Anreise wegfällt, sparen Sie auch Zeit und Geld. Außerdem können wir flexibler auf Ihre Terminwünsche reagieren.
Können wir die Schulung für unsere Zwecke anpassen?
Ja, sehr gerne. Genaugenommen ist das einer der Vorteile von dedizierten Unternehmensschulungen. Sie können gerne unsere Agada-Vorschläge gewichten, kürzen oder ergänzen. In der Regel findet auch ca. 2 Wochen vor der Schulung eine Abstimmung mit Ihrem Trainer durch. Auf Wunsch auch schon gerne früher.
Warum Angular?
Für Angular spricht unter anderem seine weite Verbreitung, aber auch die Tatsache, dass mit Google ein Internet-Gigant, der das Framework auch sehr intensiv nutzt, steht. Bei Google alleine existieren über 2600 darauf basierende Lösungen. Durch die weite Verbreitung existiert eine große Community und somit viel Know-How am Markt sowie (freie und kommerzielle) Produkte, die auf Angular abgestimmt sind. Außerdem bietet Angular vieles von dem, was Sie für große Anwendungen benötigen, ab Werk: Testautomatisierung, Formularverwaltung, Routing etc. Insofern erhalten Sie einen Stack, dessen Bestandteile aufeinander abgestimmt sind und langfristig zusammenspielen.
Wie kompensiert ihr unterschiedliches Vorwissen?
Die gute Nachricht vorweg: Teilnehmer mit unterschiedlichem Vorwissen sind in der Erwachenenbildung die Regel und nicht die Ausnahme. Deswegen finden Sie auf unseren Übungblättern optionale Hinweise zum Einblenden und Bonus-Übungen, für die, die etwas schneller sind. Natürlich unterstützen wir auch persönlich bei den Übungen.
Wie viele Teilnehmer sind empfehlenswert?
Falls Sie bei uns eine Firmenschulung buchen, überlassen wir diese Entscheidung prinzipiell Ihnen. Allerdings zeigt die Erfahrung, dass es nicht mehr als 15 Teilnehmer sein sollten, zumal ein Seminar sehr stark von Fragen, Diskussionen und praktischen Übungen lebt.
Welche Software benötigen wir?
Bitte installieren Sie die folgenden Software-Pakete auf Ihrem Rechner:
– NodeJS in aktueller Version (wir testen mit aktueller LTS-Version)
– Angular CLI (npm i -g @angular/cli)
– Git
– Visual Studio (frei) oder WebStorm/IntelliJ (kommerziell)