Test Builder
Der Test Builder ist ein KI-gestütztes, konversationelles Feature zur Generierung produktionsreifer Playwright-Tests aus natürlicher Sprache. Er respektiert dein bestehendes Page Object Model, verwendet Custom Actions und Custom Asserts wieder und fragt bei Unklarheiten gezielt nach — statt zu raten.
Kernprinzipien
- Menschliche Lesbarkeit zuerst — Jede generierte Datei ist für QA-Engineers lesbar und wartbar
- Wiederverwenden vor Erstellen — Bestehende POMs, Actions und Asserts werden erkannt und erweitert, nie dupliziert
- Kein Magic-Spaghetti-Code — Strukturierter Output, keine wilden Inline-Locatoren
- Golden Path statt Freiheit — Konsistenter, vorhersehbarer Output
- Kommunizieren statt Raten — Die KI hält an und fragt, wenn sie unsicher ist
Modi
Auto-Modus
Beschreibe dein Testziel in normaler Sprache. Die KI beobachtet deine App über Playwright MCP, identifiziert Selektoren, gleicht vorhandene POMs ab und generiert Spec + POM-Erweiterung oder neue Datei.
Beispiel:
"Erstelle einen Login-Test bis zum Dashboard"
Die KI wird:
- Das Projekt auf vorhandene Page Objects, Actions, Asserts scannen
- Die Ziel-URL beobachten (bis zu 5 Runden)
- Selektoren nach bevorzugter Strategie erkennen (test-id → role → label → placeholder → text)
- Bestehende
LoginPage.tserweitern (falls vorhanden) oder eine neue erstellen - Einen Review mit Zusammenfassung anzeigen: explizit umgesetzt / bonus-auto / nur empfohlen / wiederverwendet
- Auf deine Bestätigung zum Speichern warten
Guided-Modus
Führe die KI Schritt für Schritt — ideal wenn der Auto-Modus dynamische Seiten nicht vollständig scannen kann.
Beispiel-Chat:
> Navigiere zu /login
> Fülle Email mit testuser@example.com
> Klicke Submit-Button
> Prüfe, dass Dashboard sichtbar ist
> generierenDie KI zeichnet jeden Schritt auf und generiert POM + Spec sobald du "generieren" eingibst.
Klärungsregel
Wenn die KI nicht genug Informationen hat (zu wenig Locatoren, unklares Ziel, unklare POM-Zuordnung), stoppt sie und fragt gezielt nach — sie rät nicht. Im UI erscheint eine hervorgehobene Fragekarte. Nach deiner Antwort arbeitet die KI weiter.
Maximale Klärungsrunden: 2. Danach endet die Session mit einer klaren Fehlermeldung.
Locator-Priorität
data-testidAttribut- ARIA-Rolle (+ zugänglicher Name)
- Label
- Placeholder
- Sichtbarer Text
- CSS-Selektor (nur als Fallback)
Generierte Dateien
| Art | Beispielpfad | Wann |
|---|---|---|
page | playwright/pages/LoginPage.ts | Neues POM oder Erweiterungsblock |
spec | playwright/tests/login.spec.ts | Immer |
action | playwright/actions/auth.actions.ts | Bei erkennbarer Wiederverwendbarkeit |
assert | playwright/asserts/auth.asserts.ts | Bei erkennbarer Wiederverwendbarkeit |
Review-Zusammenfassung
Vor dem Speichern zeigt das Review-Panel:
- Explizit umgesetzt — was du beauftragt hast
- Wiederverwendet — bestehende Dateien, die genutzt oder erweitert wurden
- Automatisch hinzugefügt — kleine, offensichtliche Bonus-Assertions (URL-Check, Sichtbarkeit)
- Nur empfohlen — weitere Testideen, die nicht automatisch umgesetzt wurden
Grenzen
| Konstante | Wert | Bedeutung |
|---|---|---|
MAX_OBSERVE_ROUNDS | 5 | MCP-Aufrufe bevor nachgefragt wird |
MAX_CLARIFY_ROUNDS | 2 | Nutzerantworten vor Fehler-Abbruch |
MIN_LOCATORS_TO_PROCEED | 3 | Minimale sichere Locatoren für Fortsetzung |
