Jenkins Integration
Last updated
Last updated
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.
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.
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.
Bitte beachten Sie, dass Sie zum Hochladen über die URL bei aqua eingeloggt sein müssen.
Um das Plugin zu konfigurieren, gehen Sie bitte zu Jenkins verwalten und wählen Sie den Abschnitt "System konfigurieren".
Scrollen Sie nach unten bis zu dem Abschnitt Aqua Plugin.
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 |
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.
Um die Jenkins-Jobs aus aqua auszulösen, öffnen Sie Ihren Test in Jenkins und wählen Sie die Registerkarte „Konfigurieren“.
Dann muss die URL des Quellcode-Repositorys angegeben werden.
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.
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.
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.
Speichern Sie die Ergebnisse des Unit-Tests nicht in demselben Testfall, der einen Jenkins-Job auslöst!
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.
Ö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.
Nun können Sie den angegebenen Testfall in aqua mit Hilfe des Jenkins-Agenten ausführen.
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.
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.
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.
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.
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.
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.
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 hier 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)
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".