Jenkins Integration

FΓΌr Interaktionen zwischen aqua und Jenkins, dem bekannten OpenSource-Tool fΓΌr Continous Integration, hat andagon ein Plugin entwickelt, dass auf Jenkins installiert werden kann und dass es Ihnen erlaubt, Jenkins Jobs von aqua anzusteuern und umgekehrt, Testszenarien in aqua von einem Jenkins Job anzusteuern.

Unit Testergebnisse kânnen ebenfalls zurück nach aqua geschickt werden, sodass sie von der mÀchtigen Reportfunktion in aqua profitieren. Außerdem kânnen aqua Links von den Kommentaren eines Repository (z.B. Subversion oder Git) geparst und in Jenkins angezeigt werden. Dieses Kapitel beschreibt im Detail, welche notwendigen Schritte erstellt und wie die Integration mit Jenkins konfiguriert werden müssen.

circle-info

Hinweis 1: Bevor Sie die Installation des Jenkins-Plugins starten, stellen Sie sicher, dass Sie das richtige Jenkins-Plugin, entsprechend Ihrer aqua und Ihrer Jenkins Installationsnummer haben. Wenn Sie nicht sicher sind, kontaktieren Sie bitte das Support Team.

Hinweis 2: Vergewissern Sie sich, dass Sie den entsprechenden Automatisierungsagenten und den Benutzer mit dem Lizenztyp β€žJenkinsβ€œ erstellt haben, um sicherzustellen, dass die Integration fΓΌr das gegebene Projekt erfolgreich sein wird.

Installation des aqua Jenkins Plugins

Das Jenkins-Plugin ist nicht ΓΌber den Jenkins-Plugin-Store erhΓ€ltlich. Die Jenkins-Plugin-Datei wird als β€žaquaJenkinsPlugin.hpiβ€œ geliefert und kann von der Seite β€žInstallationsdateienβ€œ heruntergeladen werden.

Um dieses Plugin zu installieren, ΓΆffnen Sie das Jenkins-Dashboard und wΓ€hlen Sie auf der linken Seite "Jenkins verwalten". WΓ€hlen Sie dann in der Mitte "Plugins verwalten".

Jetzt kΓΆnnen Sie die Plugin-Datei von Ihrem Computer hochladen oder den Link zum Herunterladen des Jenkins-Plugins in das URL-Feld einfΓΌgen.

circle-info

Bitte beachten Sie, dass Sie zum Hochladen ΓΌber die URL bei aqua eingeloggt sein mΓΌssen.

Uploading the plugin file

Konfigurieren des Jenkins-Plugins

Um das Plugin zu konfigurieren, gehen Sie bitte zu Jenkins verwalten und wΓ€hlen Sie den Abschnitt "System konfigurieren".

Navigating to Configure System section

Scrollen Sie nach unten bis zu dem Abschnitt Aqua Plugin.

Aqua Plugin section under Configure System

Wie Sie im Screenshot sehen kΓΆnnen, benΓΆtigt das Plugin die folgenden Informationen:

Agent code

Ein Agentencode, der das Plugin in Ihrer aqua Installation identifiziert. Erhalten Sie diesen Code, indem Sie aqua ΓΆffnen. Machen Sie einen Rechtsklick auf das entsprechende Projekt und wΓ€hlen Projektkonfiguration -> Automatisierung. Im sich ΓΆffnenden Fenster fΓΌgen Sie einen neuen Agenten hinzu, nennen Sie ihn Jenkins (oder Γ€hnlich) und speichern Ihre Einstellungen.

Agent Webservice URL

Die Webservice URL fΓΌr aqua Agenten. Sie bekommen diese Informationen von Ihrem Administrator. Sie kΓΆnnen diese URL ΓΌberprΓΌfen, indem Sie sie im Browser ΓΆffnen. Sie sollten die Webseite aquaAgentWebservice sehen.

Agent aktiviert

Dies aktiviert Ihr Jenkins Plugin.

Main Webservice URL

Die gelΓ€ufige Webservice URL, um TestfΓ€lle zu erhalten. Sie bekommen diese Information von Ihrem Administrator. Sie kΓΆnnen die URL ΓΌberprΓΌfen, indem Sie sie im Browser ΓΆffnen. Sie sollten die Webseite MainService sehen.

aqua Benutzername

Ein gΓΌltiger aqua Benutzername, der fΓΌr die Authentifizierung genutzt wird.

Passwort

Das entsprechende Passwort fΓΌr die Authentifizierung.

Name Ihrer aqua Instanz

Den Namen Ihrer aqua Instanz kΓΆnnen Sie herausfinden, indem Sie Ihren aqua Client ΓΆffnen. Der Footer zeigt die entsprechende Information, in unserem Fall "aqua".

Wenn Sie die Einstellungen abgeschlossen haben, speichern Sie diese, indem Sie in Jenkins auf Speichern klicken. Sie kΓΆnnen ΓΌberprΓΌfen, ob Ihre Einstellungen erfolgreich waren, indem Sie den aqua Client ΓΆffnen.

Machen Sie einen Rechtsklick auf das entsprechende Projekt und wΓ€hlen Projektkonfiguration -> Automatisierung. Im sich ΓΆffnenden Fenster sollte Ihr neu erstellter Agent einen grΓΌnen Punkt haben. Bitte vergessen Sie nicht, auf den Aktualisieren-Button in der Ribbon Bar zu klicken, falls das Agenten-Fenster noch offen war.

Jenkins Konfiguration

Um die Jenkins-Jobs aus aqua auszulΓΆsen, ΓΆffnen Sie Ihren Test in Jenkins und wΓ€hlen Sie die Registerkarte β€žKonfigurierenβ€œ.

Navigating to the Configuration of the Jenkins job

Dann muss die URL des Quellcode-Repositorys angegeben werden.

Providing repository URL

Wenn Sie den Maven-Test ausfΓΌhren mΓΆchten, stellen Sie bitte sicher, dass die richtige Konfiguration eingestellt wurde.

Um die JUnit-Testergebnisse zu verΓΆffentlichen, vergewissern Sie sich zunΓ€chst, dass die Testergebnisse in Jenkins angezeigt werden und fΓΌllen Sie das Feld fΓΌr den Testbericht XMLs aus.

aqua notifier - Senden von Testergebnissen an aqua

Die Ergebnisse von Unit-Tests werden in Jenkins angezeigt. Um jedoch Zugang zu diesen Informationen in aqua zu erhalten, haben Sie die MΓΆglichkeit, die Ergebnisse in einen Vorlage-Testfall in aqua zurΓΌckzuschreiben. Der erste Schritt besteht darin, diesen Testfall in aqua zu erstellen. Γ–ffnen Sie einen neuen Testfall, geben Sie ihm einen Namen, z.B. β€žUnit test resultsβ€œ, speichern und schließen Sie den Testfall. FΓΌgen Sie dann in Ihrem Jenkins-Job eine neue Postbuild-Action mit dem Namen aqua Notifierβ€œ hinzu und geben Sie die Id Ihres aqua-Testfalls ein.

Specifying the Test Case ID, where the test results are going to be sent

Wenn Sie diesen Jenkins-Job jetzt ausfΓΌhren, werden Ihre Unit-Testergebnisse in Ihren aqua-Testfall geschrieben und als neue AusfΓΌhrung in diesem Testfall gespeichert. Bitte beachten Sie, dass neben der Erstellung einer neuen TestausfΓΌhrung auch die Testbeschreibung und alle Testschritte bei jeder AusfΓΌhrung des Jenkins-Jobs durch die Informationen aus Jenkins ersetzt werden. Daher werden alle Informationen, die in der Testfallbeschreibung oder den Testschritten gespeichert sind, ersetzt.

triangle-exclamation

Sie kΓΆnnen auch eine Variable fΓΌr die Testfall-Id verwenden (z.B. $TestCaseVariable), wenn Sie einen parametrisierten Jenkins-Job haben und die Ergebnisse in verschiedenen TestfΓ€llen in aqua speichern mΓΆchten. HierfΓΌr mΓΌssen alle TestfΓ€lle aus den Variablenwerten in aqua vorhanden sein.

AuslΓΆsen von Jenkins-Jobs aus aqua

Γ–ffnen Sie dann den entsprechenden Testfall in aqua. PrΓΌfen Sie, ob unter dem Testschritt -> Registerkarte β€žAutomatisierungβ€œ die entsprechende Job-ID von Jenkins eingegeben wurde.

Inputting the Jenkins Job ID under the corresponding TC element in aqua

Nun kΓΆnnen Sie den angegebenen Testfall in aqua mit Hilfe des Jenkins-Agenten ausfΓΌhren.

Executing the Test Case with the Jenkins agent
circle-info

Ein Jenkins- Job kann parametrisiert werden. Wenn Sie einen bestimmten Parameter, z. B. Environment, außer Kraft setzen mâchten, kânnen Sie Ihren aqua-Testfall parametrisieren (siehe Registerkarte Daten im linken Menü). Wenn der angegebene Jenkins-Job über aqua ausgelâst wird, wird der angegebene Wert in Jenkins korrekt gesetzt.

Sobald die Ausführung abgeschlossen ist, kânnen Sie in aqua die dabei gesammelten Informationen einschließlich der Protokolle überprüfen.

AuslΓΆsen der AusfΓΌhrung von Testszenarien aus Jenkins

aqua-Testszenarien kΓΆnnen von Jenkins aus gestartet werden. Dies ist eine bequeme Methode, um automatisierte Tests in aqua nach einem erfolgreichen Build in Jenkins auszufΓΌhren. Um diesen Trigger hinzuzufΓΌgen, fΓΌgen Sie einen Build-Schritt namens aqua test scenario Trigger hinzu. Dadurch wird das folgende Formular zu Ihrem Jenkins-Job hinzugefΓΌgt.

Wenn im aqua-Testszenario kein Agent angegeben ist, wird dieser aus dem Wert fΓΌr den Agentennamen in Jenkins ΓΌbernommen. Der Ausgabepfad erstellt den Bericht in Jenkins, und die Ergebnisse kΓΆnnen dann in Jenkins verΓΆffentlicht werden - nΓΌtzlich, wenn Sie aqua mit Jenkins integrieren und dann einige Ranorex-Jobs auslΓΆsen mΓΆchten.

Informationen, die auf der AusfΓΌhrungsprotokollseite in aqua angezeigt werden

Wenn Sie Tests mit Jenkins ausfΓΌhren, erhΓ€lt aqua allgemeine Informationen und separate AusfΓΌhrungsprotokolle fΓΌr jeden Test, die eine detaillierte AufschlΓΌsselung der Ereignisse wΓ€hrend der AusfΓΌhrung bieten.

Occurence time

Der spezifische Zeitstempel, zu dem ein Ereignis stattfindet, z. B. der Beginn oder Abschluss eines Builds, die AuslΓΆsung eines Auftrags oder die AusfΓΌhrung eines bestimmten Schritts innerhalb einer Pipeline.

Category Column

Es wurden Typen hinzugefΓΌgt, um die Klassifizierung der Protokolle zu verbessern.

  • JENKINS_GENERAL_RESULT: Dieser Typ protokolliert den Beginn der AusfΓΌhrung und gibt einen Überblick ΓΌber alle Tests, einschließlich ihrer Namen und ihres Status (z. B. FAILED oder PASSED).

  • JENKINS_TEST_RESULT: Dieser Typ enthΓ€lt individuelle AusfΓΌhrungsprotokolle fΓΌr jeden Test, was eine detailliertere ÜberprΓΌfung der Testergebnisse ermΓΆglicht.

Bei fehlgeschlagenen Tests

  • Die folgenden Informationen kΓΆnnen angezeigt werden:

    • Standard Output (<system-out>): Zeigt die wΓ€hrend der AusfΓΌhrung erzeugte Ausgabe an. Falls leer, lautet die Meldung "Standard Output: No output."

    • Standard Error (<system-err>): Liefert Diagnosemeldungen, falls vorhanden. Sie wird nicht angezeigt, wenn es keine Fehlerausgabe gibt.

    • Error Message (<failure> or <error>): Zeigt bestimmte Fehlermeldungen von Assertions oder Exceptions an. Wenn es keine Fehlermeldung gibt, wird sie nicht angezeigt.

    • Stack Trace (<failure> or <error>): EnthΓ€lt den Trace, wo der Fehler im Code aufgetreten ist. Wenn kein Stack-Trace verfΓΌgbar ist, wird er nicht angezeigt.

Abgeschnittene Daten

Große Nachrichten in der Standardausgabe werden abgeschnitten. Wenn die vollstΓ€ndige Standardausgabe benΓΆtigt wird, kann sie in den Berichten auf der Registerkarte β€žDateienβ€œ angezeigt werden.

circle-info
  • Die Mindestversion von Jenkins, die erforderlich ist, um mit dem neuen Aqua-Plugin zu arbeiten, wurde auf 2.462.3 aktualisiert (neueste stabile Version, wie hierarrow-up-right referenziert).

  • Das Plugin kann jetzt nur noch mit JDK 17 oder hΓΆher erstellt werden (es wird empfohlen, JDK 17 zu verwenden).

  • Γ„nderungen an der Konfiguration des Plugins kΓΆnnen einen Neustart von Jenkins erfordern.

  • Artikel-IDs kΓΆnnen maximal 6 Ziffern haben.

  • aqua build steps fΓΌr Jenkins unterstΓΌtzen die Jenkins-Pipeline nicht (bitte verwenden Sie stattdessen den Freestyle)

Last updated

Was this helpful?