Automatisierte UI-Tests mit Playwright sind mächtig – aber in Kombination mit Künstlicher Intelligenz (KI) werden sie noch intelligenter. In diesem Tutorial zeige ich dir anhand eines echten Beispiels mit der Jobplattform Stepstone, wie du deine Tests mit KI verstärken kannst.

Wir vergleichen dabei einen klassischen Playwright-Test mit einer Version, die natürliche Sprache verwendet – umgesetzt mit ZeroStep und einem KI-Modell im Hintergrund.

Voraussetzungen

Für dieses Tutorial benötigst du:

  • Ein funktionierendes Playwright-Setup (@playwright/test)
  • Node.js (empfohlen: aktuelle LTS-Version)
  • Einen AI-Anbieter oder eine Library wie @zerostep/playwright
  • Einen API-Key (z. B. OpenAI, Cohere o. ä.)

Klassischer Test vs. KI-gesteuerter Test

Sobald dein Setup steht, wollen wir gemeinsam einen typischen Anwendungsfall durchspielen: den Besuch der Stepstone-Website, das Überprüfen des Seitentitels und den Wechsel der Sprache auf Deutsch. Zuerst zeige ich dir, wie das mit klassischem Playwright-Code funktioniert – danach ersetzen wir Schritt für Schritt Teile davon durch KI-basierte Befehle, die auf natürlicher Sprache basieren. So bekommst du ein Gefühl dafür, wie du KI nahtlos in deine bestehenden Tests integrieren kannst.

Klassischer Playwright-Test

import { test, expect } from "@playwright/test";

test("open Stepstone, has title and switches to German, check german title", async ({ page }) => {
  await page.goto("https://www.stepstone.com/");

  // Titel prüfen
  await expect(page).toHaveTitle(/We help companies to hire the right talent/);

  // Sprachmenü öffnen
  const languageButton = page.locator("button.language-switcher__button").first();
  await expect(languageButton).toBeVisible();
  await languageButton.click();

  // "Deutsch"-Link anklicken
  const germanLink = page.locator("ul.language-switcher__list li.lang-item-deutsch a").first();
  await expect(germanLink).toBeVisible();
  await germanLink.click();

  // Auf URL warten und deutschen Titel prüfen
  await page.waitForURL("**/deutsch/");
  await expect(page).toHaveURL(/deutsch/);
  await expect(page).toHaveTitle(/Wir helfen Unternehmen, die richtigen Talente zu finden/);
});

Ziel: Ich überprüfe hier, ob Stepstone geladen wird, ob der Sprachwechsel auf „Deutsch“ funktioniert – und ob danach der passende Titel angezeigt wird.


Die gleiche Testidee mit KI-Unterstützung

Nachdem wir den klassischen Playwright-Test gesehen haben, schauen wir uns nun an, wie derselbe Test mithilfe von Künstlicher Intelligenz umgesetzt werden kann. Dabei verwenden wir die ZeroStep-Erweiterung, die es ermöglicht, Browserinteraktionen in natürlicher Sprache zu beschreiben.

Das Ziel bleibt identisch – wir öffnen die Stepstone-Website, prüfen den Titel und wechseln die Sprache auf Deutsch – aber dieses Mal überlassen wir der KI die genaue Lokalisierung und Auswahl der Elemente. So wird der Code nicht nur kompakter, sondern auch robuster gegenüber Änderungen im DOM.

import { test, expect } from "@playwright/test";
import { ai } from "@zerostep/playwright";

test("open Stepstone, has title and switches to German, check german title", async ({ page }) => {
  const aiArgs = { page, test };

  // Seite öffnen
  await page.goto("https://www.stepstone.com/");
  await page.waitForLoadState("domcontentloaded");

  // Englischen Titel über KI abfragen und prüfen
  const englishTitle = await ai("What is the title of the page?", aiArgs);
  expect(englishTitle).toBe("We help companies to hire the right talent");

  // Sprachmenü öffnen (per natürlicher Sprache)
  await ai("Click the button in the top right corner that opens the language menu", aiArgs);

  // 'Deutsch'-Link im Sprachmenü anklicken
  await ai("Click the link labeled 'Deutsch' in the language menu", aiArgs);

  // Auf neue URL warten
  await page.waitForURL("**/deutsch/");
  await expect(page).toHaveURL(/deutsch/);

  // Deutschen Titel über KI abfragen
  const germanTitle = await ai("What is the title of the current page?", aiArgs);
  expect(germanTitle).toBe("Wir helfen Unternehmen, die richtigen Talente zu finden");
});

Welche Unterschiede gibt es?

  • Kein direktes Arbeiten mit locators
  • Mehr Robustheit bei dynamischen Seiten
  • Tests lassen sich in natürlicher Sprache formulieren

Vorteile der KI-gestützten Variante

Lesbarkeit: Deine Tests lesen sich wie Spezifikationen – ideal auch für Stakeholder ohne Coding-Kenntnisse
Wartbarkeit: Weniger anfällig für Änderungen im DOM
Schnelles Prototyping: Du kannst grobe Testideen mit Sprache skizzieren und sofort ausführen


So richtest du ZeroStep ein

Installiere die Library mit:

npm install @zerostep/playwright

Dann brauchst du einen API-Schlüssel deines KI-Anbieters (z. B. OpenAI) – und schon kannst du ai() wie oben nutzen. Das Tool übernimmt dann automatisch die Übersetzung deiner Eingabe in ausführbaren Code.

Hinweis: aiArgs enthält u. a. page, damit ZeroStep auf Playwright zugreifen kann.


Fazit

Mit ZeroStep oder ähnlichen Ansätzen bringst du deine Playwright-Tests auf das nächste Level. Du kannst schneller starten, Tests robuster gestalten und auch komplexe Benutzeraktionen einfach in Sprache formulieren.

Perfekt für alle, die Testautomatisierung lieben – und noch mehr aus ihr herausholen wollen.

Beitrag verfasst von:

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.