Testautomatisierung eines Jobportals mit WebdriverIO

Ich entwickele regelmäßig Lösungen, um Webanwendungen stabil und wiederholbar zu testen. In diesem Beitrag stelle ich mein Projekt zur automatisierten Jobsuche auf Stepstone.de vor – umgesetzt mit WebdriverIO, JavaScript und einer modularen Struktur für maximale Wartbarkeit. Und als Testautomatisierer möchte ich mir doch gleich mal anschauen, wie viele Testautomatisierungs-Jobs in meiner Stadt gesucht werden. : )

Ziel des Projekts

Das Ziel war es, die einige wichtige Funktionen der Stepstone-Website automatisiert zu testen – darunter:

  • Die Jobsuche nach dem Keyword „Testautomatisierung“
  • Filterfunktionen wie „Teilweise Home-Office“ und „Neuer als 24h“
  • Standortfilter (z. B. „Berlin“)
  • Öffnen von Detailseiten
  • Extraktion von Informationen über ausgeschriebene Stellen

Technologie-Stack

  • WebdriverIO v9.x
  • Node.js
  • Mocha als Test-Framework
  • Chai für Assertions

Auszug aus der Projektstruktur

/test
└── specs
├── stepstoneJobSearch.js
├── stepstone24hFilter.js
├── stepstoneFilterBerlin.js
└── stepstoneOpenJobDetailPage.js
/helpers
└── stepstone.helper.js

Die Tests sind in thematisch getrennten Dateien organisiert. Gemeinsame Abläufe wie das Akzeptieren von Cookies oder die Keyword-Suche habe ich in der `stepstone.helper.js` gekapselt.

Was habe ich unter anderem getestet?

  • Keyword-Suche:

Zunächst wird geprüft, ob das Suchfeld korrekt geladen wurde, um dann automatisiert das Keyword „Testautomatisierung“ einzugeben und die Jobsuche auszulösen.

  • Filter „Teilweise Home-Office“ und „Neuer als 24h“:

Die Filter werden angeklickt und anschließend überprüft, ob sie korrekt angewendet wurden.

  • Jobdetails:

Der erste Job-Eintrag wird geöffnet, ein neuer Tab wird angesteuert und die Detailseite überprüft.

  • Standortsuche „Berlin“:

Ein zentrales Ziel meines Projekts war es herauszufinden, wie viele Testautomatisierungsjobs aktuell in Berlin angeboten werden. Als Berliner war ich neugierig, welche Jobtitel und Unternehmen in meiner Stadt aktiv nach QA-Expert:innen suchen.

Dazu habe ich in meinem automatisierten Testprojekt gezielt nach dem Stichwort „Testautomatisierung“ gesucht und anschließend den Standortfilter auf „Berlin“ gesetzt. Die so gefilterten Jobdaten – bestehend aus Titel, Firmenname und Standort – werden am Ende automatisiert ausgelesen und in einer Datei auf dem Desktop gespeichert.

Der Testfall stepstoneFilterBerlin.js im Detail

  1. Stepstone öffnen und Cookies akzeptieren

  2. Nach dem Keyword „Testautomatisierung“ suchen

  3. Suchvorgang auslösen

  4. Filter „Berlin“ anwenden

  5. Anzahl der Berliner Jobanzeigen ermitteln

  6. Jobtitel, Unternehmen und Standorte extrahieren und in Datei schreiben

  7. Voilà: Abschließend erhalte ich das Ergebnis und meine jobtitel_und_infos.txt auf dem Desktop – mit allen relevanten Stellenanzeigen für Testautomatisierung in Berlin.

So wird getestet

In der wdio.conf.js wurde maxInstances auf 1 gesetzt, um alle Tests sequentiell laufen zu lassen.

Beispielausgabe

✓ sollte das Suchfeld finden und 'Testautomatisierung' eingeben
✓ sollte den Suchbutton klicken 
✓ sollte neue Seite laden und die H1 mit der Trefferzahl anzeigen 

Optional könnte ich natürlich den HTML-Reporter einbinden, um die Testergebnisse übersichtlich im Browser darzustellen. Dieses Mal verzichte ich jedoch darauf.

Warum dieses Projekt?

Als Berliner hat mich natürlich interessiert, wie viele Jobs im Bereich Testautomatisierung aktuell in meiner Stadt angeboten werden. Dabei wollte ich nicht nur manuell suchen, sondern die Gelegenheit nutzen, um ein automatisiertes Testprojekt mit WebdriverIO aufzusetzen. So konnte ich gleich zwei Ziele erreichen: einen realistischen Use-Case für moderne Testautomatisierung umzusetzen – und gleichzeitig die lokale Nachfrage nach meinem Berufsfeld zu analysieren. : )

Abschließend, die Ergebnisse der Testausführung:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.