CI-Integration
Der Runner lässt sich nahtlos in Continuous-Integration-Pipelines einbinden. Diese Seite beschreibt die Integration mit GitLab CI und allgemeine CI-Konfiguration.
GitLab CI
xyva generiert CI-kompatible Konfigurationen für GitLab. Ein typischer Job sieht so aus:
e2e-tests:
stage: test
image: mcr.microsoft.com/playwright:v1.50.0-noble
script:
- npm ci
- npx playwright test
artifacts:
when: always
paths:
- playwright-report/
- test-results/
expire_in: 7 daysTIP
Verwenden Sie das offizielle Playwright-Docker-Image, um sicherzustellen, dass alle Browser-Binaries vorinstalliert sind. Das spart erhebliche Build-Zeit.
Headless-Ausführung
In CI-Umgebungen laufen Tests standardmäßig im Headless-Modus. Der Runner erkennt automatisch, ob er in einer CI-Umgebung ausgeführt wird, und passt die Konfiguration entsprechend an:
- Kein sichtbares Browserfenster
- Optimierte Ressourcennutzung
- Automatische Parallelisierung basierend auf verfügbaren CPU-Kernen
Artefakte und Berichte
Nach jedem CI-Lauf werden folgende Artefakte erzeugt:
| Artefakt | Beschreibung |
|---|---|
| HTML-Report | Interaktiver Playwright-Bericht mit Testergebnissen |
| JUnit XML | Standard-Testbericht für CI-Dashboard-Integration |
| Traces | Playwright Traces für fehlgeschlagene Tests |
| Screenshots | Automatische Screenshots bei Assertion-Fehlern |
| Videos | Aufzeichnungen fehlgeschlagener Tests (falls aktiviert) |
INFO
Die JUnit-XML-Datei (results.xml) wird automatisch erzeugt und kann von GitLab für die Pipeline-Übersicht ausgewertet werden.
Umgebungsvariablen
In CI-Umgebungen werden Variablen über die Pipeline-Konfiguration statt über den Test Hub bereitgestellt:
variables:
BASE_URL: "https://staging.example.com"
TEST_USER: $CI_TEST_USER
TEST_PASSWORD: $CI_TEST_PASSWORDWARNING
Speichern Sie Zugangsdaten niemals direkt in der .gitlab-ci.yml. Nutzen Sie stattdessen die geschützten CI/CD-Variablen von GitLab.
Pipeline-Dashboard
Das Pipeline-Dashboard in xyva zeigt den Status Ihrer CI-Läufe an und verknüpft die Ergebnisse mit dem lokalen Intelligence-Dashboard. So bleiben CI- und lokale Testdaten synchron.
Parallele Ausführung
Für große Test-Suites empfiehlt sich die Aufteilung auf mehrere CI-Jobs:
e2e-tests:
parallel: 4
script:
- npx playwright test --shard=$CI_NODE_INDEX/$CI_NODE_TOTALDie Ergebnisse aller Shards werden automatisch zusammengeführt.
Weiterführende Seiten
- Runner — Übersicht der Ausführungs-Engine
- Laufmodi — Alle Tests, Chirurgisch, Smart Run
- Intelligence — Testergebnisse auswerten und analysieren
