Testautomatisierung

Testautomatisierung

aqua Web erlaubt es Ihnen, automatisierte Tests auszuführen. Das Verfahren, um einen automatisierten Test zu starten, ist das gleiche wie für einen manuellen Test. Klicken Sie einfach auf Ausführen im entsprechenden Testfall. Der folgende Dialog wird um einen Bereich für die Auswahl des Agenten ergänzt. Der Agent ist für die Ausführung des Tests verantwortlich. Rot bedeutet, dass der Agent nicht verfügbar ist, grün weist auf einen Ausführungsagenten hin, der auf eine Aufgabe wartet.
 
 
Wie Sie die Agenten für PowerShell und Unixshell sowie die Jenkinsintegration im Web konfigurieren finden Sie in den folgenden Kapiteln. Um weitere Automatisierungstools wie Ranorex, JMeter oder SoapUI oder auch Datenbankabfragen einzurichten müssen Sie den aqua Rich-Client verwenden. Lesen Sie sich bitte hierfür den Bereich Automatisierung in unserer Rich-Client-Dokumentation durch.

Um einen automatisierten Testfall auszuführen, muss ein entsprechender aqua Agent konfiguriert werden. Jeder Agent hat einen individuellen Zugriffscode. Dieser Code wird in aqua generiert und dem Agenten zugewiesen. Die Agenten können dann auf einem beliebigen Rechner hinterlegt werden, sofern eine Verbindung zu dem aqua Server besteht. Die Agenten kommunizieren dann einfach zwischen aqua und dem jeweiligen Automatisierungstool, starten Testausführungen und liefern die Ergebnisse zurück an aqua.
 

Zugriffscode erzeugen

Wählen Sie Ihr Projekt im Projektbrowser aus und klicken oben links in der aqua Kopfzeile auf das Konfigurationsmenü . Dort wählen Sie im Bereich Projektkonfiguration den Eintrag Automatisierungsagenten aus.
 
 
 
Klicken Sie auf Agent hinzufügen in der Ribbon Bar und wählen einen Namen für den neuen Agenten aus.
 
 
Der Zugriffscode wird automatisch generiert und wird für die Konfiguration eines Agenten benötigt. Dafür kopieren Sie den Zugriffscode in die Zwischenablage oder schreiben Ihn auf, um Ihn später zu verwenden. Der Zugriffscode dient zur Identifizierung und Ansteuerung des richtigen Agenten. Es dürfen niemals zwei oder mehr Agenten mit dem gleichen Zugriffscode konfiguriert werden.
 
 

Agenten konfigurieren

Der Zugriffscode wird für die Konfiguration der Agenten benötigt. Er muss in die config-Datei des lokalen Agenten eingebunden werden.
 
Die config-Datei kann im selben Ordner, in dem sich der Agent befindet, gefunden werden, bei PowerShell z.B. unter aquaAgentPowerShell.exe.config.
 
Der generierte Zugriffscode muss in diese Datei eingegeben werden. Zusätzlich können auch weitere Konfigurationen in dieser Datei, abhängig von dem jeweiligen Agententypen, vorgenommen werden. In den meisten Agenten ist neben dem Agentencode z.B. auch noch die aquaServiceUrl wichtig (den korrekten Link finden Sie auch auf der aqua Einstigsseite bei den Agenten). Dort muss der korrekte aqua Servername bzw. die Server IP-Adresse eingetragen werden.
 
Die entsprechenden Positionen werden im folgenden Auszug am Beispiel des PowerShellagenten gezeigt:
 
<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="agentCode" value="84f0voteb5xtym56p4lc" />
    <add key="aquaServiceUrl" value="https://aquaServerName/aquaAPI/aquaagentwebservice.asmx" />
    <...
  </appSettings>
  ...
...
</configuration>
 
Wenn Sie den Agenten korrekt konfiguriert haben, können Sie den Agenten über die exe-Datei starten. In dem Fenster, dass sich dann öffnet, wird der Verbindungsstatus sowie weitere Logmeldungen ausgegeben.
 
 
In dem Bereich Automatisierungsagenten in aqua wird dann bei diesem Agenten ein grüner Punkt angezeigt, wenn die Verbindung erfolgreich ist (eventuell muss die Ansicht einmal aktualisiert werden). Kann initial keine Verbindung hergestellt werden, ist der Punkt grau. Wurde zumindest einmal eine Verbindung hergestellt, aber jetzt besteht keine Verbindung mehr, dann wird ein oranger Punkt angezeigt. Überprüfen Sie bei einer fehlender Verbindung ob der Agent gestartet wurde, ob Fehlermeldungen im Agenten angezeigt werden und ob überhaupt eine Verbindung zu dem aqua Server besteht. Um einen automatisierten Testfall mit diesem Agenten auszuführen muss der Agent gestartet und korrekt konfiguriert sein.
 
 

Agentenpools

Im Bereich Pools können Sie einen Agentenpool aus mehreren Agenten erstellen. Dieser kann dann bei einer Testfallausführung oder Testszenarioausführung ausgewählt werden und verwendet dann für die jeweiligen Schritte bzw. Testfälle die korrekten Agenten.
 
 
Außerdem können so Testszenarien mit vielen Testfällen auf mehrere Agenten verteilt werden und parallel ausgeführt werden. Dies kann bei der Ausführung definiert werden.
 
 
 

Laufende Aufgaben

Wenn ein automatisierter Test läuft, können Sie den Status der Ausführung beobachten, indem Sie auf Laufende Aufgaben klicken. Hier sehen Sie jederzeit den aktuellen Status Ihrer Ausführung sowie das detaillierte Ausführungsprotokoll oder auch Details zum Testfall oder Testszenario welches ausgeführt wird. Das Ausführungsprotokoll kann natürlich auch direkt in dem jeweiligen Testfall/Testszenario während oder nach der Ausführung aufgerufen werden.
 
 
 
 


PowerShell

Der PowerShellagent wird für die Ausführung eines Testfalls mit PowerShell Skripten benötigt.
Um ein PowerShell-Skript zu einem Testfall hinzuzufügen, öffnen Sie den Bereich Testschritte im Testfall. Hier wechseln Sie auf den Reiter "Automatisierung".
 
 
Wenn Sie nun PowerShell auswählen, wird automatisch ein Beispiel PowerShell-Skript eingefügt. In dem Beisepielskript können Sie die Funktionalitäten, welche durch den PowerShell-Agenten zur Verfügung gestellt werden, nachvollziehen. Sie können das Skript dann weiter anpassen oder auch direkt durch andere Skripte ersetzen.
 
Im Folgenden werden alle Informationen zu den Objekten und Funktionen erläutert, welche durch den PowerShell-Agent für PowerShell-Skripte zur Verfügung gestellt werden:
 
  • variables - Array von Objekten, die Testfallvariablen (und ihre Werte) für die Ausführung beinhalten. Name und Value sind die wichtigsten Eigenschaften für VariableValue
  • tempDir - String Variable, die den Pfad des temporären Verzeichnisses enthält, in dem Skriptanhänge gespeichert wurden (wenn vorhanden)
  • aquaCallback - Verweis auf ein Hilfs-Objekt, dass genutzt werden kann, um mit aqua vom PowerShell-Skript zu kommunizieren. Die verfügbare Funktionalität beinhaltet:
  • Senden von Log-Nachrichten nach aqua (auch mit Screenshots)
  • Senden von Anhängen nach aqua (gespeichert als Anhänge im Ausführungsobjekt)
  • Senden von Testausführungs Status über AddExecutionData
  • Abfragen der Testausführungsinformationen (Ids von Projekt, Testfall, Testausführung, Testszenario, Testszenarioausführung)
  • StopRequest Eigenschaft - wird bei Abbruchanfragen, die von aqua erhalten werden, vom Agenten gesetzt. Lang laufende Skripte sollten dieses Flag periodisch überprüfen und das Skript stoppen, wenn es gesetzt ist. Wenn nicht nach 5 Sekunden gestoppt wird, nachdem dieses Flag gesetzt wurde, terminiert der Agent das laufende Skript selbstständig.
 
Zum Aufrufen von nunit aus PowerShell können Sie einen Befehl nutzen wie:  
 
$output = & $nunitLocation $testDll --test=$testCaseName 2>&1
 
Um exponierte Objekte zu nutzen, muss das PowerShell-Skript ihre Benutzung deklarieren, indem der folgende Befehl eingegeben wird:
 
param($variables, $tempDir, $aquaCallback)
 
Beachten Sie, dass alle genutzten Variablen in einem einzelnen "param"-Befehl deklariert werden müssen. Ein Beispielskript, dass diese Objekte benutzt: 
 
 
 
# Beispiel PowerShell Skript, dass .Net Objekte und Testfallvariablen von aqua benutzt
param($variables, $tempDir, $aquaCallback)  
$text = new-object System.Text.StringBuilder  
$date = [System.DateTime]::Now  
$text.AppendLine($date.ToLongDateString())  
$text.AppendLine($date.ToLongTimeString())  
echo "$text" > script-sample.log  
foreach ($var in $variables)  
{  
    $varName = $var.Name  
    $varValue = $var.Value  
    echo "Variable: $varName : $varValue" >> script-sample.log  
}
#Abfragen der Testausführungsinformationen über $aquaCallback.GetExecutionInfo()
#Es wird dabei ein Objekt zurückgegeben mit ProjectId, TestCaseId, TestExecutionId, [TestScenarioId and TestScenarioExecutionId]
$executionInfo = $aquaCallback.GetExecutionInfo()                                                             
Write-Output "Project ID: $($executionInfo.ProjectId)" >> script-sample.log
Write-Output "TestCase ID: $($executionInfo.TestCaseId)"  >> script-sample.log
Write-Output "Execution ID $($executionInfo.TestExecutionId)" >> script-sample.log
Write-Output "Scenario ID (when run in scenario): $($executionInfo.TestScenarioId)" >> script-sample.log
Write-Output "Scenario Execution ID (when run in scenario): $($executionInfo.TestScenarioExecutionId)" >> script-sample.log
# Mögliche Typen von [aqua.ProcessEngine.WebServiceProxy.ExecutionLogMessageType]
# SUTError, ScriptExecutionError, PreparationError, ExecutionError, InformationalInfo, InformationalDebug, InformationalWarn, InformationalSuccess  
$aquaCallback.SendMessage("hello, I was sent from script", [aqua.ProcessEngine.WebServiceProxy.ExecutionLogMessageType]::InformationalWarn, "my category");   
$aquaCallback.SendMessageWithScreenshot("and this is Screenshot", "c:\sample.jpg", [aqua.ProcessEngine.WebServiceProxy.ExecutionLogMessageType]::InformationalWarn, "my category");   
dir $tempDir >> script-sample.log  
$aquaCallback.AddExecutionAttachment("script-sample.log");  
while ($true)  
{  
    if ($aquaCallback.StopRequest)  
    {
        $aquaCallback.SendMessage("Aborting on StopRequest", [aqua.ProcessEngine.WebServiceProxy.ExecutionLogMessageType]::InformationalWarn, "my category");   
        return "Aborted"   
    }  
    Start-Sleep -s 10  
    aquaCallback.SendMessage("Looping in PowerShell…", [aqua.ProcessEngine.WebServiceProxy.ExecutionLogMessageType]::InformationalWarn, "my category");   
}  
# Gibt den Status der Testausführung zurück. Mögliche Werte sind: Ready, Blocked, Fail, Aborted  
return "Ready" 
 
 

Datei hochladen

Über den Button Datei hochladen können Sie Dateien zu dem automatisierten PowerShell Schritt hinzufügen, welche dann bei der Ausführung automatisch heruntergeladen und in dem Temp Ordner des Agenten, in dem auch das Skript ausgeführt wird, abgelegt werden. Damit können Sie ganz einfach diese Dateien innerhalb des Skriptes verwenden.
Außerdem können auch Dateien bei der Skriptausführung hochgeladen werden und an die Ausführung angehängt werden. Dies geht über den folgenden Call: $aquaCallback.AddExecutionAttachment("Dateipfad")
 

Execution Status

In PowerShell haben Sie zusätzlich die Möglichkeit, einen Ausführungsstatus in Form einer Liste von Parametern nach aqua zu senden. Dies hilft in Situationen, wenn die Testausführung sehr lange dauert und Sie einen Zwischenstand in aqua geben möchten, zum Beispiel einen Testfortschritt als Prozent-Wert oder die Anzahl der bereits abgearbeiteten Prüfschritte. Folgender Beispiel-Code zeigt, wie Sie diesen Ausführungsstatus senden können:
 
# mehrere Werte als Ausführungsstatus auf einmal senden
$attributes = @()
 
$attribute = New-Object aqua.ProcessEngine.WebServiceProxy.ExecutionDataAttribute
$attribute.AttrName = "dummy"
$attribute.AttrType = [aqua.ProcessEngine.WebServiceProxy.ExecutionDataAttributeType] "Integer"
$attribute.AttrValue = "14"
$attributes += $attribute
 
$attribute = New-Object aqua.ProcessEngine.WebServiceProxy.ExecutionDataAttribute
$attribute.AttrName = "dummy2"
$attribute.AttrType = [aqua.ProcessEngine.WebServiceProxy.ExecutionDataAttributeType] "String"
$attribute.AttrValue = "HelloWorld"
$attributes += $attribute
 
# ist der zweite Paramater true, dann wird der komplette Ausführungsstatus ersetzt, andernfalls werden existierende Werte überschrieben oder noch nicht vorhandene Werte ergänzt
$aquaCallback.AddExecutionData($attributes, $true)
 
# einzelnen Wert als Ausführungsstatus senden
# $aquaCallback.AddExecutionDataString(string name, string value)
$aquaCallback.AddExecutionDataString("Progress", "50%")
 
# $aquaCallback.AddExecutionDataInteger(string name, int value)
$aquaCallback.AddExecutionDataInteger("No. of Checks", 50)
 
 

Übertragung von Informationen zwischen Schritten

Zwei PowerShell-Skripte in unterschiedlichen Testschritten sind zunächst unabhängig voneinander und es können keine Daten aus dem einem Schritt ohne weiteres in einem nachfolgenden Schritt aufgegriffen und weiter verwendet werden. Um dieses Problem zu lösen kann der Ausführungsstatus auch dazu benutzt werden, um Daten aus einem automatisierten Schritt in den nächsten automatisierten Schritt zu überführen und wiederzuverwenden. Die benötigten Methoden sind im Folgenden beschrieben:
 
# $aquaCallback.GetAllExecutionAttributesInExecution()
$allAttributes = $aquaCallback.GetAllExecutionAttributesInExecution()
 
# $aquaCallback.GetExecutionAttributeInExecution(string attributeName)
$progress = $aquaCallback.GetExecutionAttributeInExecution("Progress")
 
# $aquaCallback.GetExecutionAttributeValueInExecution(string attributeName)
$noOfChecks = $aquaCallback.GetExecutionAttributeValueInExecution("No. of Checks")
 
 
Hier ein Minimalbeispiel für die Übertragung und Ausgabe von einem String zwischen zwei Schritten:
In Schritt 1:
$aquaCallback.AddExecutionDataString("GeteilteStringVariable","dies ist der Inhalt der String Variable aus Schritt 1") 
 
In Schritt 2:
$aquaCallback.SendMessage($aquaCallback.GetExecutionAttributeValueInExecution("GeteilteStringVariable"),[aqua.ProcessEngine.WebServiceProxy.ExecutionLogMessageType]::InformationalInfo, "my category");

Unix Shell

Der UnixShell-Agent erlaubt es Ihnen, ein Shell-Skript auf einer Remote- Unix (Linux)-Maschine auszuführen. Um den UnixShell-Agenten aufzusetzen, folgen Sie bitte den nächsten Schritten.
 

Setup

Die folgenden Schritte benötigen grundlegendes Wissen über UnixShell. Für die angegebenen Befehle kann nicht garantiert werden, dass sie auf jeder Unix (Linux) Distribution funktionieren und müssen daher eventuell an Ihre Distribution angepasst werden.
 
1. Erstellen Sie einen Automatisierungsagenten in aqua und schreiben Sie den Zugriffscode auf (auch bekannt als Agentencode)
2. Überprüfen Sie, ob Java auf Ihrer Unix (Linux)-Maschine installiert ist, z.B. in dem Sie den folgenden Befehl ausführen:
 
java -version
 
Das Ergebnis sollte so ähnlich wie im folgenden Screenshot sein:
 
 
Wenn Java nicht auf Ihrer Maschine installiert ist, können Sie es installieren, indem Sie dem folgenden Leitfaden für Ihre Unix (Linux) Distribution folgen. Als Alternative können Sie eine Java Laufzeit-Umgebung (JRE) als *.tar.gz Paket herunterladen und dies in einen Ordner Ihrer Wahl entpacken (untar). Die folgenden Befehle sind Beispiele für eine Ubuntu Distribution:
 
mkdir /usr/java
cd /usr/java
tar zxvf <path-to-your-java-tar.gz>
 
 
3. Laden Sie den aqua UnixShell-Agenten auf Ihre Unix (Linux)-Maschine hoch und entpacken Sie diesen in einen Ordner Ihrer Wahl (z.B. indem Sie den Befehl unzip in Ubuntu benutzen, der über sudo apt-get install unzip installiert werden kann).
 
cd /usr
unzip <path-to-UnixShell-agent-zip-file>
 
4. Bearbeiten Sie die Datei agent.properties (z.B. mit dem Befehl nano) und ändern die Zeile agentCode (siehe Schritt 1) sowie aquaServiceUrl, sodass der Agent mit Ihrerm aqua Server kommunizieren kann.
 
cd <path to agent folder>
nano ./agent.properties
 
Ein Beispiel können Sie hier sehen:
 
 
5. Falls Sie java gemäß der Anleitung in Schritt 2 installiert haben oder eine konkrete java-Version benutzen möchten, bearbeiten Sie die Datei agent.sh und passen Sie den Pfad an den Java-Befehl an. Bitte beachten Sie die Option, den Agenten im Fenstermodus laufen zu lassen. Dies kann für Unix (Linux)-Maschinen geeignet sein, die eine GUI installiert haben.
 
 
6. Machen Sie die Datei agent.sh ausführbar.
 
sudo chmod +x ./agent.sh
 
7. Starten Sie den Agenten, indem Sie agent.sh ausführen.
 
cd <Pfad zum Agenten-Ordner>
./agent.sh
 
Wenn eine Exception ausgegeben wird, prüfen Sie bitte noch einmal in der Datei agent.properties, ob agentCode und aquaServiceUrl richtig gesetzt sind.
 
 
In aqua sollten Sie einen grünen Indikator für Ihren Agenten sehen.
 
 

Shell-Skripte schreiben, die das Ergebnis nach aqua zurückschicken

Um ein UnixShell-Skript in ALM auszuführen, erstellen Sie einen neuen Testfall, öffnen den Schrittplaner und wählen den Tab Automatisierung. Wählen Sie den Testschritt (Klick in das leere Feld des Schritts) und fügen ein neuen UnixShell-Skript hinzu.
 
 
Im Skriptbereich des Schritts können Sie nun ein Skript einfügen, welches auf der Remote-Maschine ausgeführt werden soll. Beispiel:
 
##################
#!/bin/bash
# Einfaches Bash Skript
 
# Alles, was in die Konsole geschrieben wird, wird zurück an aqua geschickt
echo "Das Skript läuft"
 
# Zugriff auf die Variable VAR1
echo "$AQUA_VAR1"
 
# Dateien, die im Unterordner toAttach gespeichert wurden, werden an aqua geschickt (unten sind zwei Beispiele)
# Beispiel 1: Hängen Sie eine Datei test.txt an die Ausführung (touch erstellt eine neue Datei im Unterordner toAttach)
touch ./toAttach/test.txt
 
# Beispiel 2: Um Dateien hochzuladen, können Sie diese auch in den Unterordner kopieren
# Syntax: cp <Dateipfad> ./toAttach
cp /tmp/screnshot.png ./toAttach
 
# Geben Sie das Ergebnis der Ausführung zurück: 0 bedeutet Bestanden. Alles andere bedeutet Gescheitert
exit 0
##################
 
 
Wenn Sie mit Ihrem Skript fertig sind, können Sie Ihren Testfall speichern und ausführen.
 
Für die Ausführung wird ein neuer Unterordner im temp-Ordner des Agenten erstellt. In diesem Unterordner wird automatisch ein weiterer Unterordner toAttach erstellt, sodass Sie Anhänge, wie im Beispiel beschrieben, hochladen können. Wenn Sie den temp-Folder nach der Ausführung öffnen wollen, setzen Sie bitte in der Datei agent.properties deleteTempFiles=false und starten Ihren Agenten neu.
 

Datei hochladen

Über den Button Datei hochladen können Sie Dateien zu dem automatisierten UnixShell Schritt hinzufügen, welche dann bei der Ausführung automatisch heruntergeladen und in dem Temp Ordner des Agenten, in dem auch das Skript ausgeführt wird, abgelegt werden. Damit können Sie ganz einfach diese Dateien innerhalb des Skriptes verwenden.
Außerdem können auch Dateien bei der Skriptausführung hochgeladen und an die Ausführung angehängt werden, wie oben bereits beschrieben.
 

Einschränkungen

1. Bilder können als Anhänge hochgeladen werden. Es ist jedoch nicht möglich, Bilder so hochzuladen, dass die Bilder direkt im aqua Ausführungs-Log angezeigt werden.
2. Die komplette Ausgabe der Konsole wird in den letzten Schritt des Ausführungs-Logs geschrieben und nicht als mehrere Ausführungs-Logeinträge.
3. Als Konsequenz der Einschränkung 2, können Sie das Log-Level einer einzelnen Ausführungs-Log-Nachricht nicht bestimmen.

Jenkins

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 aqua Support Team.
Hinweis 2: Diese Installationsbeschreibung basiert auf der Jenkins Version 2.73.3 und aqua 18.
 
Installation des aqua Jenkins Plugins
Das aqua Jenkins Plugins wird nicht über den Jenkins Plugin Store angeboten. Das Jenkins Plugin wird als Datei mit dem Namen "aquaJenkinsPlugin.hpi" geliefert und kann auf der aqua Einstiegsseite heruntergeladen werden. Um dieses Plugin in Jenkins 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 -> Automatisierungsagenten. 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. Im Bild oben wurde der Jenkins-Parameter Environment parametrisiert.
 

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:
 



    • Related Articles

    • Web Client vs Rich Client

      Funktionalität Konkretisierung WebClient Rich Client Homescreen x x Konfigurierbar bei OnPremise x Benutzerverwaltung x x Rollen x x Anlage x x Projektzuweisung x x Nutzungsstatistik x x SAML 2.0 x Projektkonfiguration x x Felder x x Workflow x x ...
    • Berechtigungsübersicht (Rich Client)

      In aqua können Sie Rollen mit mehr als 100 verschiedenen Berechtigungen definieren, die separat aktiviert werden können. Einige davon können als Assigned oder Owned freigeschaltet werden. Wenn Sie Assigned auswählen darf der Benutzer Elemente ändern, ...
    • Rollen

      Rollen hinzufügen oder bearbeiten Um Rollen zu definieren oder zu bearbeiten, klicken Sie auf Rollen in der Ribbon Bar im unteren Bereich der Seite. Sie können Rollen dann Hinzufügen, Kopieren, Ändern oder Löschen. Um eine Rolle zu ändern, wählen Sie ...
    • Ranorex (Rich Client)

      Ein funktionaler Test wird im Kontext eines Testfalls in aqua angewandt. Daher muss der Benutzer zuerst einen neuen Testfall anlegen. Indem man den Tab Automatisierung auswählt, wechselt der Schrittplaner zur Testautomatisierung. Erstellen Sie nun ...
    • Automatisierungsbibliothek (Rich Client)

      In aqua haben Sie die Möglichkeit, Testautomatisierungs-Skripte wiederzuverwenden, indem Sie eine Bibliothek benutzen. Dies ermöglicht es einem Benutzer, Testskripte in einer Cloud zu speichern und diese in verschiedenen Testfällen zu verwenden. Ein ...