Jenkins
Last updated
Last updated
Für die Interaktion zwischen aqua und Jenkins, dem bekannten Open-Source-Tool für kontinuierliche Integration, haben wir ein Plugin entwickelt, das in Jenkins installiert werden kann. Es ermöglicht, Jenkins-Jobs von aqua aus zu starten und umgekehrt, sodass Sie Testszenarien in aqua aus einem Jenkins-Job heraus auslösen können.
Testergebnisse können auch in Aqua zurückgeschrieben werden, um die leistungsstarke Reporting-Funktion von Aqua zu nutzen. Darüber hinaus können Aqua-Links aus Repository-Kommentaren (z. B. Subversion oder Git) geparst und in Jenkins angezeigt werden. Dieses Kapitel beschreibt die Schritte, die erforderlich sind, um die Integration mit Jenkins einzurichten und zu konfigurieren.
Bevor Sie mit der Installation des Jenkins-Plugins beginnen, stellen Sie bitte sicher, dass Sie das richtige Jenkins-Plugin entsprechend Ihrer Aqua-Installationsversionsnummer und Ihrer Jenkins-Installationsversionsnummer haben. Wenn Sie nicht sicher sind, kontaktieren Sie bitte unser Support
Stellen Sie sicher, dass Sie den dedizierten Automatisierungsagenten und den Benutzer mit dem 'Jenkins'-Lizenztyp erstellt haben, um sicherzustellen, dass die Integration für das jeweilige Projekt erfolgreich ist.
Das Jenkins-Plugin ist nicht im Jenkins-Plugin-Store verfügbar. Die Jenkins-Plugin-Datei wird als "aquaJenkinsPlugin.hpi" geliefert und kann von der Aqua-Homepage heruntergeladen werden. Um dieses Plugin zu installieren, öffnen Sie das Jenkins-Dashboard und wählen Sie auf der linken Seite "Manage Jenkins". Wählen Sie dann in der Mitte "Manage Plugins".
Jetzt können Sie die Plugin-Datei von Ihrem Computer hochladen oder den Link einfügen, um das Jenkins-Plugin herunterzuladen.
Um das Plugin zu konfigurieren, gehen Sie bitte zu "Manage Jenkins" und wählen Sie den Abschnitt "Configure System".
Scrollen Sie nach unten bis zum Abschnitt namens aqua Plugin.
Wie im Screenshot zu sehen, benötigt das Plugin die folgenden Informationen:
Agent code | Um einen Agenten-Code zu erhalten, der das Plugin in Ihrer Aqua-Installation identifiziert: Öffnen Sie aqua. Rechtsklicken Sie das entsprechende Projekt und wählen Sie „Projektkonfiguration“ => „Automatisierung“. Fügen Sie im erscheinenden Fenster einen neuen Agenten hinzu, nennen Sie ihn Jenkins (oder ähnlich) und speichern Sie Ihre Einstellungen. |
Agent Webservice URL | Die Webservice-URL für Aqua-Agenten. Holen Sie diese Informationen von Ihrem Administrator ein. Sie können diese URL überprüfen, indem Sie sie in Ihrem Browser öffnen. Sie sollten eine Website mit dem Titel „aquaAgentWebservice“ sehen. |
Agent active | Dies aktiviert Ihr Jenkins-Plugin. |
Main Webservice URL | Die allgemeine Webservice-URL zum Abrufen von Testfällen. Fordern Sie diese Informationen von Ihrem Administrator an. Sie können diese URL überprüfen, indem Sie die URL in Ihrem Browser öffnen. Sie sollten eine Website mit dem Titel „MainService“ sehen. Dies wird nur für die Richtung Jenkins -> aqua verwendet. |
aqua user name | Ein gültiger aqua-Benutzername, der für die Authentifizierung verwendet wird. Dies wird nur in der Richtung Jenkins -> aqua verwendet. |
Password | Das entsprechende Passwort, das zur Authentifizierung verwendet wird. Dies wird nur für die Richtung Jenkins -> Aqua verwendet. |
Name of your aqua instance |
Wenn Sie Ihre Einstellungen abgeschlossen haben, speichern Sie diese bitte, indem Sie in Jenkins auf Speichern klicken. Sie können überprüfen, ob Ihre Einstellungen erfolgreich waren, indem Sie Ihren aqua-Client öffnen.
Um die Jenkins-Jobs von Aqua auszulösen, öffnen Sie Ihren Test in Jenkins und wählen Sie die Registerkarte 'Configure'.
Dann muss die URL des Quellcode-Repositories angegeben werden.
Wenn Sie den Maven-Test ausführen möchten, stellen Sie bitte sicher, dass die richtige Konfiguration angepasst wurde.
Um die JUnit-Testergebnisse zu veröffentlichen, stellen Sie zunächst sicher, dass die Testergebnisse in Jenkins angezeigt werden und das Feld für die Testbericht-XMLs ausgefüllt ist.
Die Ergebnisse der Unittests werden in Jenkins angezeigt. Um jedoch auf diese Informationen in aqua zugreifen zu können, haben Sie die Möglichkeit, die Ergebnisse in eine Template-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. „Ergebnisse der Unittests“, und speichern und schließen Sie den Testfall. Gehen Sie dann zu Ihrem Jenkins-Job, fügen Sie eine neue Postbuild-Aktion namens „aqua Notifier“ hinzu und geben Sie die ID Ihres aqua-Testfalls ein.
Bei der Ausführung dieses Jenkins-Jobs werden Ihre Unit-Testergebnisse in Ihrem aqua-Testfall gespeichert und als neue Ausführung in diesem Testfall abgelegt. Bitte beachten Sie, dass neben der Erstellung einer neuen Testausführung die Testbeschreibung und alle Testschritte jedes Mal durch die Informationen aus Jenkins ersetzt werden, wenn der Jenkins-Job ausgeführt wird. Daher werden alle Informationen, die in der Testfallbeschreibung oder den Testschritten gespeichert sind, ersetzt.
Speichern Sie die Ergebnisse von Unit-Tests nicht im gleichen 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. Zu diesem Zweck müssen alle Testfälle aus den Variablenwerten in aqua vorhanden sein.
Öffnen Sie dann den entsprechenden Testfall in aqua. Überprüfen Sie, ob unter dem Testschritt -> 'Automation' Tab die entsprechende Job-ID von Jenkins eingegeben wurde.
Jetzt können Sie den angegebenen Testfall in aqua mithilfe des Jenkins-Agents ausführen.
Ein Jenkins-Job kann parametrisiert werden. Wenn Sie einen bestimmten Parameter überschreiben möchten, z.B. Environment, können Sie Ihren aqua-Testfall parametrisieren (siehe den Reiter "Daten" im linken Menü). Wenn der angegebene Jenkins-Job über aqua ausgelöst wird, wird der angegebene Wert korrekt in Jenkins gesetzt.
Sobald die Ausführung abgeschlossen ist, können Sie in aqua die währenddessen gesammelten Informationen einschließlich der Protokolle überprüfen.
Aqua-Test-Szenarien können von Jenkins aus ausgelöst werden. Dies ist eine bequeme Möglichkeit, Ihre automatisierten Tests in Aqua nach einem erfolgreichen Build in Jenkins auszuführen. Um diesen Auslöser 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 kein Agent im aqua-Test-Szenario angegeben ist, wird dieser aus dem Agenten-Namen-Wert in Jenkins übernommen. Der Ausgabe-Pfad erstellt den Bericht in Jenkins, und anschließend können die Ergebnisse 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.
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.
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)
Der Name Ihrer Aqua-Instanz kann gefunden werden, indem Sie Ihren Aqua-Client öffnen. Die Fußzeile zeigt die entsprechenden Informationen, in unserem Fall "aquatest