Jenkins Integration (Rich Client)

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.
 

Installation

Hinweis 1: Bevor Sie die Installation des Jenkin-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 andagon Support Team.
Hinweis 2: Diese Installation gehört zur Jenkins Version 1.596.2 und aqua 16.
 
Installation des aqua Jenkins Plugins
Das Jenkins Plugin wird als Datei mit dem Namen "aquaJenkinsPlugin.hpi" geliefert. Um dieses Plugin zu installieren, öffnen Sie bitte das Jenkins Dashboard und wählen Jenkins verwalten auf der linken Seite. Dann wählen Sie Plugins verwalten in der Mitte des Fensters.
 
 
Auf der Webseite, die sich nun öffnet, wählen Sie bitte den Tab Erweitert und laden das Plugin manuell hoch.
 
 
Nach der erfolgreichen Installation, sollten Sie unter dem Installations-Tab einen Eintrag mit dem Namen aquaJenkinsPlugin sehen.
 
Konfiguration des Jenkins Plugins
Um das Jenkins Plugin von aqua zu konfigurieren, öffnen Sie bitte das Jenkins Dashboard und wählen Jenkins verwalten auf der linken Seite. Dann wählen Sie System konfigurieren in der Mitte des Fensters.
 
 
Scrollen Sie zum folgenden Bereich namens aqua Plugin:
 
 
Wie Sie im Screenshot sehen können, braucht 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 Jobs von aqua ansteuern

Um einen Job in Jenkins von aqua anzusteuern, erstellen Sie bitte einen neuen Testfall in aqua. Geben Sie Ihrem neuen Testfall einen Namen und öffnen den Schrittplaner über die Ribbon Bar. Nun wählen Sie den Tab Automatisierung und fügen ein neues Jenkins-Skript in den entsprechenden Testschritt ein. Im Eingabefeld namens Skript geben Sie einfach den Namen des Jobs in Jenkins ein.
 
 
Wenn Sie fertig sind, speichern Sie Ihren Testfall und führen ihn aus, indem Sie Ihren Jenkins Agenten auswählen.
 
 
Hinweis: Wenn Sie Ihren Jenkins-Job parametrisiert haben, dann können Sie Werte von aqua nach Jenkins übergeben, indem Sie den Testfall in aqua ebenfalls parametrisieren. Der Wert wird automatisch an Jenkins übergeben, sofern die Variable den gleichen Namen hat.
 

aqua Testjob Trigger: Ausführung von Testszenarien von Jenkins ansteuern

aqua Testszenarien können von Jenkins angesteuert werden. Dies ist ein geeigneter Weg, um Ihre automatisierten Tests in aqua nach einem erfolgreichen Build in Jenkins auszuführen. Um diesen Trigger hinzuzufügen, fügen Sie einen Buildschritt namens aqua Testjob Trigger hinzu. Dieser fügt Ihrem Jenkins Job die folgende Form hinzu:
 
 
Wie Sie im Screenshot sehen können, braucht der aqua Testjob Trigger die folgenden Informationen:
 
TestScenario Id
Die aqua Id des Testszenarios, das Sie ausführen wollen
Agent Name
Den Standard-Automatisierungsagenten, den das Testszenario benutzen soll (kann leer bleiben, aber stellen Sie sicher, dass jeder Testfall in Ihrem Testszenario einem entsprechenden Agenten für die Ausführung zugewiesen ist, andernfalls wird er scheitern)
Execute Sequentially
Führt Testfälle Ihres Testszenarios der Reihe nach aus
Output Path
Ein Jenkins Ausgabepfad für Ihre Testergebnisse, in dem Ergebnisse im Unit-Test-Format gespeichert sind, sodass Jenkins diese ebenfalls anzeigen kann
 

aqua Notifier: Schreiben von Unittest-Ergebnissen in aqua

Unittest-Ergebnisse werden in Jenkins angezeigt. Um jedoch Zugriff auf diese Information in aqua zu bekommen, haben Sie die Möglichkeit die Ergebnisse in einen Vorlage-Testfall in aqua zu schreiben.
Der erste Schritt ist es, diesen Testfall in aqua zu erstellen. Öffnen Sie einen neuen Testfall, geben Sie einen Namen ein (z.B. Unit Test Ergebnisse), dann speichern und schließen Sie den Testfall.
Dann öffnen Sie Ihren Jenkins Job, fügen eine neue Postbuild-Aktion namens aqua Notifier ein und geben die Id Ihres aqua Testfalls ein.
 
 
Wenn Sie diesen Jenkins Job jetzt ausführen, werden Ihre Unittest-Ergebnisse in Ihren aqua Testfall geschrieben und als neue Ausführung in diesem Testfall gespeichert. Bitte beachten Sie, dass zusätzlich zur Erstellung einer neuen Testausführung die Testbeschreibung und alle Testschritte mit den Informationen aus Jenkins ersetzt werden, und zwar jedes Mal, wenn der Jenkins-Auftrag ausgeführt wird. Folglich werden alle in der Testfallbeschreibung oder den Testschritten gespeicherten Informationen ersetzt. Speichern Sie deshalb die Unit-Testergebnisse nicht in demselben Testfall, der einen Jenkinsjob auslöst!
Sie können außerdem auch den Testfall variabel mitgeben (also z.B. $Testfallvariable), wenn Sie einen parametrisierten Jenkinsjob haben und die Ergebnisse in unterschiedlichen Testfällen in aqua speichern wollen. Hierfür müssen dann natürlich auch alle Testfälle aus den Variabelwerten in aqua existieren.
 
 

aqua Links: Anzeige von aqua Links in Jenkins

Das Jenkins Plugin kann commit-Nachrichten von Subversion oder Git analysieren. Wenn der Kommentar einen Link zu einem Element in aqua enthält, wird dieser geparst und in Jenkins angezeigt.
 
 
Um aqua Links zu konfigurieren, öffnen Sie Ihren Jenkins Job und fügen eine neue Postbuild-Aktion namens aqua Links hinzu.
 
 

Ein Beispiel Jenkins Job, der alle aqua Elemente enthält

Der folgende Screenshot enthält einen Beispiel Jenkins Job mit der Konfiguration von aqua Testjob Trigger, aqua Notifier und aqua Links: