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.

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 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:

  1. Öffnen Sie das Jenkins Dashboard.

  2. Wählen Sie Jenkins verwalten auf der linken Seite.

  3. Wählen Sie Plugins verwalten in der Mitte des Fensters.

  1. Auf der nun geöffneten Webseite wählen Sie den Tab Erweitert und laden das Plugin manuell hoch.

Nach erfolgreicher 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:

  1. Öffnen Sie das Jenkins Dashboard.

  2. Wählen Sie Jenkins verwalten auf der linken Seite.

  3. Wählen Sie System konfigurieren in der Mitte des Fensters.

  1. Scrollen Sie zum folgenden Bereich namens 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.

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 Testschritten 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 einem 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 Jenkins-Job auslöst!

Sie können außerdem auch den Testfall variabel mitgeben (also z.B. $Testfallvariable), wenn Sie einen parametrisierten Jenkins-Job 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 Variablenwerten in aqua existieren.

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:

Last updated