Gitlab CI/CD: TypeScript/Cypress
Last updated
Last updated
Dieser Leitfaden demonstriert die Integration automatisierter Tests in Ihre GitLab CI/CD-Pipeline, speziell unter Verwendung von Typescript/Cypress. Die Schritte können jedoch für jedes Testautomatisierungstool oder -framework angepasst werden, um Ergebnisse an Aqua zu übermitteln.
Voraussetzungen
Ein GitLab-Projekt mit aktiviertem CI/CD
Ein aqua-Konto zum Einreichen von Testergebnissen
Aktualisieren der aqua-Testfallausführung basierend auf der Testfallausführung in GitLab
Generieren Sie ein neues Projekt in Ihrem Arbeitsbereich
Stellen Sie sicher, dass Node.js installiert ist.
Installieren Sie Cypress mit TypeScript: „npm install --save-dev typescript“, dadurch wird die folgende Struktur erstellt:
Schreibe einen Testfall in Cypress. Für dieses Demonstrationsbeispiel verwenden wir einen UI-Test, der die Website „https://example.cypress.io“ testet. Der folgende e2e-Test wird im Projektordner /Cypress/e2e/ erstellt:
Zum Zweck der Automatisierung nehmen wir an, dass der Testtitel auf der tatsächlichen aqua-Testfall-ID basiert: z.B. im obigen Fall haben wir den aqua-Testfall mit der ID=270 aktualisiert.
Nun müssen wir die aqua-Testfallausführung basierend auf dem Ergebnis des Cypress-Testlaufs aktualisieren. Um es allgemein und ausführbar für alle Fälle zu machen, fügen wir einen "AfterEach"-Hook-Block in die Support-Datei ein: .../cypress/support/e2e.ts:
Für die obige API-Anfrage müssen wir den Ausführungsstatus des Testfalls von Cypress kennen. Dies wird durch „cy.currentTest.state“ erledigt.
Um aqua mit Testfall-Ausführungsinformationen zu aktualisieren, müssen wir auch die aqua-Testfall-ID angeben: Im obigen Beispiel wird die Testfall-ID von „Number(this.currentTest.title)“ extrahiert.
Klassen, die wir für API-Aufrufe verwenden, können aus dem JSON-Schema generiert werden, das hier verfügbar ist:
Nach erfolgreicher Ausführung des JUnit-Tests sollten wir die entsprechende einzelne Testfallausführung in aqua sehen.
Um das oben genannte Cypress-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 ist 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 👇