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?