Gitlab CI/CD: TypeScript/Cypress/Cucumber

Generiere ein neues Projekt in deinem Arbeitsbereich
Stellen Sie sicher, dass Node.js installiert ist.
Installieren Sie Cypress mit TypeScript: „npm install --save-dev typescript“ es wird die folgende Struktur ergeben:

Kopieren Sie die folgenden Abhängigkeiten in Ihre package.json:
Führen npm install aus, um die neuesten Versionen der Abhängigkeiten zu installieren.
Schreiben Sie einen Testfall mit Gherkin-Syntax und erstellen Sie eine zusätzliche Datei mit Steps Definition. Legen Sie beide Dateien im Projektordner /Cypress/e2e/ ab:

Zur Automatisierungszwecken nehmen wir an, dass der .feature-Name auf der tatsächlichen Aqua-Testfall-Id basiert: z.B. im obigen Fall haben wir den Aqua-Testfall mit Id=270 aktualisiert.
Unsere einfache 270.feature Datei sieht folgendermaßen aus:
Schritte Definition 270.ts-Datei sieht wie folgt aus:
Navigiere zu deiner cypress.config.ts-Datei und füge den folgenden Inhalt ein:
Jetzt müssen wir die aqua-Testfallausführung basierend auf dem Ergebnis des Cypress/Cucumber-Feature-Laufs aktualisieren. Um dies allgemein und ausführbar für alle Fälle zu machen, fügen wir einen „AfterEach”-Hook-Block in die Support-Datei …/cypress/support/e2e.ts hinzu.
Für die obige API-Anfrage müssen wir den Ausführungsstatus des Testfalls von Cypress kennen. Dies geschieht durch "cy.currentTest.state".
Um aqua mit Testfallausführungsinformationen zu aktualisieren, müssen wir auch die Aqua-Testfall-ID angeben: Im obigen Beispiel wird die Testfall-ID aus „Number(Cypress.spec.fileName)“ extrahiert.
Klassen, die wir für API-Aufrufe verwenden, können aus dem hier verfügbaren JSON-Schema generiert werden:
Nach erfolgreicher JUnit-Testausführung sollten wir die entsprechende einzelne Testfallausführung in aqua sehen.

Um das oben erwähnte Cypress/Cucumber-Projekt mit GitLab CI/CD ausführen zu können, müssen wir die entsprechende Workflow-Datei .gitlab-ci.yml erstellen. Ein einfaches Beispiel eines .gitlab-ci.yml-Skripts wird unten gezeigt:
Sobald ein GitLab-Test-Runner konfiguriert und mit Ihren GitLab-Projekten verbunden ist, können wir die GitLab-Pipeline mit dem obigen Workflow ausführen.

Link zum GitLab-Repository (Branch 'Cucumber') 👇
Last updated
Was this helpful?