Test für dynamische OnLoad-Komponenten
(Komponenten, deren Repräsentation im DOM während erstem Laden der Seite langsam/verzögert erscheint)
Design
- MutationObserver über
page.addInitScript({ path: './tests/performance.js' })injizieren - Zur Seite navigieren
- Bis zum Abschluss, bzw. für bestimmte Zeit warten
- Performancedaten über
window.dynamic_component_performanceauslesen und auswerten - Jede Komponente testen
- Screenshot machen
- Screenshot mit Highlight/Overlay über langsamen Komponenten
Erkenntnisse
- Design funktioniert mit Playwright, sodass aus failenden Tests erkenntlich wird, welche Komponenten zu langsam laden
- Identifikation der Komponente stellt ein Problem dar, wenn es keine
idhat- Möglichkeit 1: xPath
- Option 2: neue id -> kurz und eindeutig, schwer zurückzuverfolgen (
strg + fnach der id im Playwright Report führt zum Screenshot, Entwickler muss selber die Codestelle finden)
Test für State-Change-Zeit
(Zeit zwischen State Change durch User Input und letzter anschließender Änderung im DOM)
- MutationObserver über
page.addInitScript({ path: './tests/<xxx>.js' })injizieren - Zur Seite
js /createnavigieren - Loadzeiten löschen & Timer neu starten
- User Input triggern
- Bis zum Abschluss, bzw. für bestimmte Zeit warten
- Performancedaten über
window.<xxx>auslesen und auswerten - Erste Reaktion (minmale Zeit) und letzte Änderung (maximale Zeit) testen