Gitlab CI/CD: TypeScript/Cypress/Cucumber

  1. Generiere ein neues Projekt in deinem Arbeitsbereich

  2. Stellen Sie sicher, dass Node.js installiert ist.

  3. 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?