Der erste Test, lindgren-menue-footer.js
, prüft in der Testsuite describe("Website Lindgren: Menüpunkte und Footer sichtbar")
, ob alle Menüpunkte und Footer-Links auf der Website „Lindgren“ korrekt angezeigt werden. Zunächst wird die Seite geladen, gefolgt von einer Überprüfung, ob jeder Menüpunkt und Footer-Link sichtbar ist. Dabei wird XPath verwendet, um die Links präzise auszuwählen, und die Methode toBeDisplayed
stellt sicher, dass die Elemente tatsächlich auf der Seite sichtbar sind.
So ging’s weiter:
Nachdem ich die oben genannten Tests allesamt ausgearbeitet hatte, nahm das kleine Projekt eine klare Struktur an:
├── reports
│ └── json-results (*)
│ ├── wdio-0-0-json-reporter.log
│ ├── wdio-0-1-json-reporter.log
│ ├── wdio-0-2-json-reporter.log
│ ├── wdio-0-3-json-reporter.log
│ ├── wdio-0-4-json-reporter.log
│ └── wdio-0-5-json-reporter.log
├── test
│ └── specs
│ ├── lindgren-broken-links.js
│ ├── lindgren-images.js
│ ├── lindgren-menue-footer.js
│ ├── lindgren-reading-sample.js
│ ├── lindgren-responsive.js
│ └── lindgren-slider.js
└── wdio.conf.js
(*) Wie hier erkennbar, habe ich unter dem Verzeichnis reports/json-results
die Ergebnisse der Tests im JSON-Format abgelegt. Diese Berichte sind besonders nützlich, um eine detaillierte Analyse der Testläufe durchzuführen und die Testergebnisse auf einfache Weise zu überprüfen.
Jeder Testlauf wird in einer eigenen Logdatei wie wdio-0-0-json-reporter.log
bis wdio-0-5-json-reporter.log
gespeichert. Diese Dateien bieten eine detaillierte Übersicht über alle Testaktivitäten und erleichtern die Fehleranalyse.
Die im obigen Bild erkennbaren JSON-Daten stammen aus einem Testbericht für die Suite „Broken Link Detection“. Der gesamte Testlauf dauerte 582 Millisekunden und wurde erfolgreich abgeschlossen, es gibt also keine ungültigen Links auf meiner Website. Ich habe zum Testen der Links übrigens die Bibliothek Axios genutzt. Es eignet sich hervorragend, um automatisiert viele URLs anzufragen und den HTTP-Statuscode auszuwerten.
Warum ich diesmal nicht mein geliebtes Allure verwende: Der JSON-Reporter bietet mir mehr Flexibilität, da er in einem maschinenlesbaren Format vorliegt, das einfach in andere Systeme integriert werden kann. Denn ich plane demnächst, die Jira-API zu nutzen, um fehlerhafte Tests automatisch als Tickets zu erstellen und so den Fehlerbehebungsprozess zu automatisieren. Falls ich hiermit weitergekommen bin, gebe ich ein Update.