Du baust Cypress-Tests und brauchst Reporting in Jira/Xray? Dann kennst du das Problem: Cypress liefert Videos und Screenshots, aber kein Test Management. Die Cypress Cloud kostet pro Sitz. Xray ist im Jira-Tenant schon bezahlt. Genau diese Lücke schließt das Cypress Xray Plugin von Qytera.
Ich nutze das Plugin seit drei Jahren in Cypress-Projekten, von kleinen Produkt-Teams bis hin zu Behörden-Migrationen auf SAP S/4HANA. Es lädt deine Cypress-Testergebnisse inklusive Screenshots, Videos und API-Requests als Evidence in Xray hoch. Das Setup dauert eine halbe Stunde. Der Effekt: jede Pipeline-Ausführung erzeugt ein revisionssicheres Test Execution Issue in Jira.
In diesem Artikel zeige ich dir den aktuellen Setup-Stand mit Cypress 14, TypeScript und ESM-Konfiguration, einen GitHub-Actions-Workflow für CI/CD und einen Public-Sector-Use-Case für SAP-S/4HANA-Migrationen. Plus: was Xray Cloud 2026 mit AI Test Case Generation neu macht und wie das mit dem Plugin zusammenspielt.
Inhaltsverzeichnis
- Was kann das Cypress Xray Plugin (Stand Mai 2026)?
- Warum Cypress allein nicht reicht: die Reporting-Lücke
- Setup: ESM-Konfiguration in cypress.config.ts
- Tests mit Xray-Issue-Keys verknüpfen
- CI/CD: GitHub Actions Workflow
- Evidence und wiederverwendete Test Executions
- Public Sector: SAP-S/4HANA-Migration mit revisionssicherem Reporting
- AI Test Case Generation in Xray Cloud 2026
- Fazit: Wann das Plugin Pflicht-Tool wird
- Häufige Fragen zum Cypress Xray Plugin (FAQ)
Was kann das Cypress Xray Plugin (Stand Mai 2026)?
Das Cypress Xray Plugin ist eine npm-Library aus dem Qytera-OSS-Portfolio. Es nimmt deine Cypress-Test-Ergebnisse nach npx cypress run entgegen und lädt sie als Test Execution Issue in Xray hoch. Inklusive Screenshots bei Fehlern, Videos je Test-Spec und optional API-Requests als Evidence.
Kerndaten (Stand 20.05.2026):
- Aktuelle Version: v8.5.0 (npm Tag
latest) - Unterstützte Cypress-Versionen laut offiziellen Requirements: Cypress 10, 11, 12, 13, 14
- Node.js: 18 oder neuer
- Xray: Server, Data Center und Xray Cloud werden gleichzeitig unterstützt
- Cucumber-Support: ja, via
@badeball/cypress-cucumber-preprocessor - Repository: Qytera-Gmbh/cypress-xray-plugin, 28 Stars, MIT-Lizenz
Cypress 15 wird Stand Mai 2026 noch nicht von v8.5.0 unterstützt. Eine Kompatibilitäts-Erweiterung steht auf der Roadmap. Wenn du Cypress 15 schon im Projekt hast, bleib bis zum nächsten Plugin-Release auf 14.x oder warte auf v9.
Warum Cypress allein nicht reicht: die Reporting-Lücke
Cypress ist als End-to-End-Framework hervorragend. Die Tests laufen schnell, die Debug-Erfahrung im interaktiven Modus ist sehr gut und Screenshots bei Fehlern fallen automatisch an. Aber Cypress hat im Test Management eine Lücke: Wenn du wissen willst, welche fachlichen Testfälle deines Sprints in der Pipeline gelaufen sind, gibt dir Cypress allein keine Antwort.
Es gibt zwei Workarounds, die ich im echten Projektalltag immer wieder sehe:
- Cypress Cloud: kommerzielles Dashboard von Cypress.io. Funktioniert sehr gut, kostet aber pro Sitz und Monat. Für Teams mit existierender Jira/Xray-Lizenz ein Doppel-Tooling.
- JUnit-XML manuell exportieren: Standard-Reporter aus Cypress generiert JUnit-XML, das du in Xray hochladen kannst. Funktioniert, verliert aber Screenshots und Videos und braucht eigenen Glue-Code für die Issue-Verknüpfung.
Das Cypress Xray Plugin schließt diese Lücke. Es synchronisiert direkt aus der Pipeline heraus. Du brauchst weder Cypress Cloud noch eigenen Upload-Code.
Setup: ESM-Konfiguration in cypress.config.ts
Cypress 10+ nutzt eine TypeScript- oder JavaScript-Konfiguration statt der alten cypress.json. Das Plugin wird über die setupNodeEvents-Hook eingebunden. Drei Schritte: installieren, Credentials konfigurieren, Tests verknüpfen.
npm install --save-dev cypress-xray-plugin
import { defineConfig } from "cypress";
import { configureXrayPlugin } from "cypress-xray-plugin";
export default defineConfig({
e2e: {
baseUrl: "https://todomvc.com",
specPattern: "cypress/e2e/**/*.cy.ts",
async setupNodeEvents(on, config) {
await configureXrayPlugin(on, config, {
jira: {
projectKey: "CYP",
url: "https://qualitymaster.atlassian.net",
},
xray: {
uploadResults: true,
uploadScreenshots: true,
},
});
return config;
},
},
});
Die Zugangsdaten für Jira und Xray gehören nicht in den Code. Wir nutzen Umgebungsvariablen, in der lokalen Entwicklung über eine .env-Datei mit cypress-dotenv, in CI/CD direkt als Secrets.
JIRA_USERNAME=service-account@qytera.de
JIRA_API_TOKEN=ATATT3xFfGF0...
XRAY_CLIENT_ID=A1B2C3D4...
XRAY_CLIENT_SECRET=xxxxx
Tests mit Xray-Issue-Keys verknüpfen
Damit das Plugin weiß, welcher Cypress-Test zu welchem Xray-Testfall gehört, schreibst du den Issue Key in den Test-Titel. Format: CYP-123 Test-Beschreibung.
describe("Todo-Liste", () => {
it("CYP-101 sollte einen neuen Todo anlegen", () => {
cy.visit("/");
cy.get(".new-todo").type("Test schreiben{enter}");
cy.get(".todo-list li").should("have.length", 1);
});
it("CYP-102 sollte einen Todo als erledigt markieren", () => {
cy.visit("/");
cy.get(".new-todo").type("Test schreiben{enter}");
cy.get(".toggle").click();
cy.get(".completed").should("have.length", 1);
});
});
Bei der nächsten Pipeline-Ausführung sieht das Test Execution Issue in Xray genau so aus: jeder Issue Key wird einem Cypress-Test zugeordnet, Status (PASS/FAIL), Screenshots und Videos hängen automatisch dran.
CI/CD: GitHub Actions Workflow
Das Plugin ist CI/CD-ready. In GitHub Actions reicht ein Workflow-File. Die Jira- und Xray-Credentials kommen als Repository Secrets, das Plugin macht den Rest.
name: E2E Tests mit Xray-Upload
on:
push:
branches: [main]
pull_request:
jobs:
cypress-run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install dependencies
run: npm ci
- name: Run Cypress with Xray-Upload
run: npx cypress run
env:
JIRA_USERNAME: ${{ secrets.JIRA_USERNAME }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
XRAY_CLIENT_ID: ${{ secrets.XRAY_CLIENT_ID }}
XRAY_CLIENT_SECRET: ${{ secrets.XRAY_CLIENT_SECRET }}
Pro Pipeline-Run entsteht ein neues Test Execution Issue in Jira. Bei jedem Pull Request siehst du in Xray, welche fachlichen Tests laufen, welche brechen und mit welchen Screenshots. Das ist der Punkt, an dem Test Management und CI/CD zusammenkommen.
Wenn du keinen neuen Execution Issue je Run willst (z.B. weil du eine bestehende Test-Execution mehrfach updaten willst), gibst du dem Plugin den Key der bestehenden Execution mit.
await configureXrayPlugin(on, config, {
jira: {
projectKey: "CYP",
url: "https://qualitymaster.atlassian.net",
testExecutionIssue: {
key: "CYP-1238",
},
},
});
Evidence und wiederverwendete Test Executions
Das Plugin nimmt automatisch die Screenshots auf, die Cypress bei Test-Fehlern erzeugt, und hängt sie an die jeweiligen Test Execution Items in Xray. Genauso landen Videos der gesamten Spec-Datei als Evidence im Issue.
Besonders nützlich für API-getriebene Cypress-Tests ist die Request-Response-Aufzeichnung. Das Plugin protokolliert bei jedem cy.request-Aufruf den vollständigen HTTP-Request und die Response als JSON-Datei und hängt diese als Evidence an. Das ist Gold wert, wenn du in einer fehlgeschlagenen Pipeline rückwärts nachvollziehen willst, was das Backend zum Zeitpunkt des Fehlers geliefert hat.
Über die Jira-Issue-REST-API kannst du zusätzlich alle Felder des Test Execution Issue konfigurieren: Sprint, Fix Version, Test Environment, Custom Fields. Damit passt das Plugin in jedes etablierte Jira-Workflow-Setup ohne Anpassung im Jira-Schema.
Public Sector: SAP-S/4HANA-Migration mit revisionssicherem Reporting
Behörden, die ihre SAP-Landschaft auf S/4HANA migrieren, haben drei Anforderungen, die zusammen passen müssen: Testautomatisierung für die Migrationswelle, revisionssichere Nachweise und Anbindung an das bestehende Jira/Xray-Toolset des IT-Dienstleisters. Genau hier passt der Cypress-Xray-Stack.
Das Pattern aus echten Migrations-Projekten:
- Cypress für die SAP Fiori- und CRM-UI: SAP Fiori-Apps rendern als Web-Frontend. Cypress klickt sie genauso wie eine andere Web-Anwendung, inkl. Login über SAML/OIDC.
- Xray Cloud im Jira-Tenant: jedes Fiori-Test-Szenario hängt als Xray-Test-Case unter einer Test-Plan-Hierarchie, die deinen Migrationswellen entspricht (Welle 1: HR, Welle 2: Finance, Welle 3: Logistik).
- Cypress-Xray-Plugin als Brücke: jede GitHub-Actions-Pipeline pro Welle erzeugt ein Test Execution Issue mit revisionssicherem Zeitstempel, Screenshots der UI, Video und Request-Logs.
Für die Revisionsprüfung (z.B. durch interne Revision, externer Wirtschaftsprüfer oder Rechnungshof bei Behörden) heißt das: du brauchst keine separate Test-Beweis-Pipeline. Das Test Execution Issue ist der Nachweis. Es enthält Zeitstempel, ausführenden Build-Agent, ausgeführte Testfälle mit Issue Keys, Status, Screenshot und Video.
Wenn du gerade in einer SAP-S/4HANA-Migration steckst und das Test-Reporting noch in Excel pflegst, ist das hier der schnellste Weg raus. Mehr zu unserem Vorgehen auf der Service-Seite SAP Testautomatisierung.
AI Test Case Generation in Xray Cloud 2026
Xray Cloud hat 2026 das Feature AI Test Case Generation ausgerollt, powered by Sembi IQ. Es ist in allen Cloud-Tiers (Standard, Advanced, Enterprise) enthalten. Die Idee: aus einer Jira-User-Story oder einer Anforderung mit Akzeptanzkriterien generiert die KI Draft-Testfälle, die du reviewst und übernimmst (Xray-Blog zur Funktion).
Für die Plugin-Praxis heißt das: du startest mit der User Story in Jira, generierst Xray-Test-Cases per Klick, übernimmst die Issue Keys (CYP-101, CYP-102, …) in deine Cypress-Test-Titel und lädst die Ergebnisse zurück. Aus „Idee" wird so in zwei Schritten ein lauffähiger End-to-End-Test mit voller Traceability zurück zur User Story.
Wichtig: die KI generiert Drafts. Sie ersetzt keinen Tester, sondern beschleunigt die Boilerplate. Die Pipeline aus User Story → Xray-Test-Case → Cypress-Test → Test Execution Issue bleibt die gleiche. Der Plugin-Workflow ändert sich nicht.
Fazit: Wann das Plugin Pflicht-Tool wird
Das Cypress Xray Plugin lohnt sich überall dort, wo schon Jira/Xray im Einsatz ist und Cypress als E2E-Framework genutzt wird. Der Setup-Aufwand liegt bei einer halben Stunde. Der Effekt: dein Test Management ist nicht mehr von der Pipeline getrennt.
Besonders stark ist die Kombination in regulierten Umgebungen (Public Sector, Banken, Versicherungen, Medizintechnik): die Test Execution Issues in Xray sind revisionssichere Nachweise mit Screenshot- und Video-Evidence. Für SAP-S/4HANA-Migrationen ist das genau das Setup, das den Mehraufwand für manuelle Test-Dokumentation eliminiert.
Tests sind kein Add-on. Tests sind der Vertrag. Und das Cypress Xray Plugin macht aus diesem Vertrag eine durchgängige, automatisierte Spur durch deine Jira-Welt.
Häufige Fragen zum Cypress Xray Plugin (FAQ)
Unterstützt das Plugin Cypress 15?
Stand v8.5.0 (Mai 2026) offiziell nicht. Die Plugin-Requirements nennen Cypress 10 bis 14. Eine Erweiterung auf Cypress 15 steht auf der Roadmap. Für Cypress-15-Projekte: warte auf v9 oder bleibe vorerst auf Cypress 14. Mehr Setup-Details im Artikel Cypress Testing 2026.
Funktioniert das Plugin mit Xray Server, Data Center und Cloud?
Ja, alle drei werden unterstützt. Du konfigurierst die jira.url und (für Cloud) die Xray-Client-Credentials. Server/DC nutzt klassische Jira-API-Tokens, Cloud nutzt Xray-Client-ID + Client-Secret. Weitere Hintergründe zu Xray findest du in unserem Artikel Testmanagement mit Jira/Xray.
Brauche ich Cypress Cloud parallel?
Nein. Das Plugin ersetzt die Reporting-Funktion von Cypress Cloud für den Xray-Anwendungsfall. Wenn du parallel Cypress Cloud nutzen willst (z.B. für Parallel-Test-Sharding), funktionieren beide gleichzeitig. Sie konkurrieren nicht.
Wie verknüpfe ich Cucumber-Feature-Files mit Xray?
Das Plugin ist vollständig kompatibel mit @badeball/cypress-cucumber-preprocessor. Im Feature-File schreibst du den Xray-Issue-Key als Tag (@CYP-101) über dem Scenario. Beim Run lädt das Plugin Feature-Files automatisch nach Xray hoch und synchronisiert die Execution-Ergebnisse.
Eignet sich das Plugin für SAP-S/4HANA-Migrationen?
Ja, besonders für SAP-Fiori- und CRM-UIs, weil diese als Web-Anwendung rendern. Cypress klickt Fiori-Apps wie jede andere Webseite. Das Plugin liefert dann die Migrations-Welle in Jira/Xray ab. Vergleich der Tools für SAP-Tests: siehe SAP Testautomatisierung mit Playwright (Tosca-Alternative).
Was unterscheidet das Plugin von TestRail-Integrationen?
Das Plugin ist Xray-spezifisch und tief in den Jira-Workflow integriert. TestRail ist eine andere Test-Management-Plattform mit eigenem Ökosystem. Wenn du zwischen Xray und TestRail vergleichst, lies unseren Artikel TestRail vs. Jira/Xray. Für den Background „Was ist Jira-Testmanagement überhaupt?" siehe Was ist Jira-Testmanagement.