Anbindung expecco ALM

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen

Sie können expecco mit expecco ALM verbinden. Dadurch erhalten Sie eine Vielzahl nützlicher Funktionen. Einige davon werden folgend beschrieben.

Anbindung[Bearbeiten]

Öffnen Sie die expecco Einstellungen:

OpenExpeccoSettings.jpg

Vor expecco Version 20.1[Bearbeiten]

  • Navigieren Sie zu "Projektmanagement / expecco ALM" (1).
  • Entfernen Sie den Haken "expecco ALM nicht vorhanden; im Menu ausblenden" (2).
  • Füllen Sie alle Felder aus und überprüfen Sie Ihre Eingaben mit dem Knopf "Erreichbarkeit prüfen" (3, 4).
  • Durch "Anwenden" werden die Einstellungen für die aktuelle Sitzung übernommen (5);
  • Mit "Sichern" werden sie auch in der "settings"-Datei abgelegt und beim nächsten Start automatisch geladen (6)

Falls Sie die Adresse des expecco ALM Server nicht kennen oder diesen nicht erreichen können, wenden Sie sich an Ihren Netzwerkadministrator.

SetExpeccoAlmSettings.jpg

Ab expecco Version 20.1[Bearbeiten]

  • Navigieren Sie zu "Projektmanagement / expecco ALM" (1).
  • Setzen Sie den Haken "expecco ALM Elemente im Hauptmenü anzeigen" (2).
  • Füllen Sie alle Felder aus und überprüfen Sie Ihre Eingaben mit dem Knopf "Erreichbarkeit prüfen" (3, 4).
    Das zusätzliche Feld "Name in expecco-ALM" definiert den Rechnernamen, wie er in ALM erscheinen wird (vormals erschien dort nur der Hostname).
  • Durch "Anwenden" werden die Einstellungen für die aktuelle Sitzung übernommen (5);
  • Mit "Sichern" werden sie auch in der "settings"-Datei abgelegt und beim nächsten Start automatisch geladen (6)
  • Falls Sie abwechselnd mit mehreren ALM Servern arbeiten (z.B. AbteilungsALM vs. FirmenALM), können verschiedene Konfigurationen auch per Namen gesichert ("Merken als..."-Button) und mittels Schnellauswahl ("Folgende Einstellung verwenden") geladen werden.

Auch hier gilt natürlich: falls Sie die Adresse des expecco ALM Server nicht kennen oder diesen nicht erreichen können, wenden Sie sich an Ihren Netzwerkadministrator.

SetExpeccoAlmSettings(20.1).jpg

Laden und Speichern von Testsuiten[Bearbeiten]

Wenn expecco mit expecco ALM verbunden wurde, können Sie Ihre Testsuiten in expecco ALM speichern. Sie müssen Ihre Testsuiten nicht mehr lokal auf der Festplatte speichern, außerdem kann die Suite dann automatisch ausgeführt werden (z.B. zeitgesteuert, oder nach Erscheinen einer neuen Version in der Quellcodeverwaltung). Jedes Mitglied ihrer Gruppe (mit entsprechenden Rechten) hat Zugriff auf die Testsuiten in expecco ALM. Voraussetzung ist natürlich, dass Sie in ALM eine Kennung besitzen, und Sie die notwendige Berechtigung zum Hochladen von Testsuiten dort haben.

Bitte geben Sie Ihrer Testsuite vor dem Speichern in expecco ALM unbedingt einen aussagekräftigen Namen. expecco ALM verwendet das Label des Root-Elements des Navigationsbaums als Namensvorlage für die Testsuite.

ProjectName.jpg

Zum Speichern nach expecco ALM öffnen Sie den dazugehörigen Dialog wie folgt:

SaveInExpeccoAlm.jpg

Damit wird der Dialog "Testsuite in expecco ALM Speichern" geöffnet. Alle Felder dieses Dialogs sind optional. Sie können der Testsuite eine Zusammenfassung und Etiketten geben. Die Testsuite kann einem bestimmten Projekt und Status zugeordnet werden. Die möglichen Projekte und Zustände werden von expecco ALM vorgeben. Diese Vorgaben lassen sich in expecco ALM anpassen.

Falls die Testsuite zur Überprüfung eines Fehlers oder zur Überprüfung der Umsetzung einer Anforderung geeignet ist, kann man diese Fehler und Anforderungen direkt in diesem Dialog mit der Testsuite verknüpfen. So ändert sich der Status der Überprüfung dieser Fehler und Anforderungen bei jedem über expecco ALM gestarteten Lauf der Testsuite. Der Status der Überprüfung wird mit einem Grün-Rot-Prozent-Balken in ALM angezeigt.

UploadTestsuiteDialog.jpg

Wenn Sie das nächste Mal expecco starten, laden Sie Ihre Testsuite wie folgt aus expecco ALM:

LoadFromAlm.jpg

Der Dialog "Testsuite aus expecco ALM Laden" zeigt Ihnen alle verfügbaren Testsuiten an. Es gibt Projekt-, Status- und Typ-Filter um die gewünschte Testsuite schnell zu finden.

LoadDialog.jpg

Versionierung einer Testsuite[Bearbeiten]

Nachdem Sie Ihre Testsuite erweitert oder verändert haben, rufen Sie erneut den "Sichern in expecco ALM" Dialog auf:

UpdateVersion.jpg

In diesem Dialog sehen Sie direkt alle anderen Versionen dieser Testsuite. Sie haben nun die Möglichkeit zwischen "Neue eindeutige Testsuite erzeugen" und "Neue Version hochladen".

  • Mit "Neue Version hochladen" wird eine neue Version hochgeladen. Dies bedeutet, dass nun diese Version die aktuellste dieser Testsuite wird. Somit werden alle Test-Definitionen / Varianten (Testsuite mit Ausführungsparametern) in expecco ALM auf eben diese Testsuite Version automatisch aktualisiert. Weiter wird Ihnen diese Version der Testsuite beim Laden aus expecco ALM präferiert als aktuellste Version angeboten (wird folgend anhand eines Screenshots gezeigt).
  • Wenn Sie "Neue eindeutige Testsuite erzeugen" auswählen, wird eine komplett neue eindeutige Testsuite erzeugt. Die vorhandenen Testsuiten werden nicht aktualisiert und diese eindeutige Testsuite hat keinerlei Bezug mehr zu Ihren vorherigen Versionen.

NewVersionOrUnique.jpg

Ausführung über expecco ALM[Bearbeiten]

expecco kann als Testausführungsklient für expecco ALM betrieben werden. D.h. expecco wartet auf von expecco ALM ausgelöste Testausführungen. Deren Ergebnisse und Reports werden nachfolgend zu expecco ALM übertragen.

Damit expecco Testausführungen von expecco ALM annimmt, muss ein expecco Testausführungsdienst gestartet werden. Dieser kann, wenn expecco bereits gestartet wurde über das Menu unter "Extras" -> "Web-Dienste" -> "Testausführungsdienst für expecco ALM (SOAP)" oder "Testausführungsdienst für expecco ALM (WebSocket)" (erst ab expecco 20.1) -> "Start..." gestartet werden.

Dieser Start per Menu ist hilfreich, um die automatische Testausführung via expecco ALM gleich im laufenden System zu testen.

Normalerweise wird expecco aber als Dienst (Windows) oder per crontab (Unix) automatisch mit dem Systemstart als Ausführungsdienst über die Kommandozeile gestartet:

 expecco --service
 expecco --webSocketService (erst ab expecco 20.1)

In beiden Startvarianten (bei laufendem expecco, sowie bei "alleinstehend" gestartetem expecco) erscheint ein neues kleines Fenster (sog. "Trayfenster") unten in der Windows bzw. Linux Toolbarleiste, in dem der aktuelle Status angezeigt wird:

ExpeccoStatusDialog.png

Verbindungsaufbau zw. Testausführungsdienst (expecco) und ALM[Bearbeiten]

Diese Verbindung kann auf zwei Arten aufgebaut werden:

  • expecco ist passiv und wartet auf eingehende Verbindung von ALM
  • expecco ist aktiv und baut die Verbindung zu ALM auf

Die erste Variante wird typischerweise benutzt, wenn sich beide Partner im selben in-House Netzwerk befinden; die zweite, wenn ALM oder beide Partner in einer Cloud oder in Docker Containern laufen.

Folgend die Unterschiede der 2 Testausführungsvarianten:

1. SOAP (--service)[Bearbeiten]

expecco startet einen SOAP- (und REST-) Service auf einen spezifischen Port. Dieser Port und die IP-Adresse oder der Hostname des Rechners auf dem expecco läuft müssen beim entsprechenden "Rechner" im expecco ALM hinterlegt werden. Bei jedem Kommando von expecco ALM wird expecco über die hinterlege Adresse und Port kontaktiert; d.h. expeccoALM baut aktiv eine Verbindung zu dem Ausführungsrechner auf.

In diesem Fall müssen sich expecco und expecco ALM im selben Netzwerk befinden damit die Kommunikation zustande kommen kann. Falls aber in der Verbindung von expecco zu expecco ALM ein Proxy oder Ähnliches liegt, ist es expecco ALM nicht möglich expecco zu erreichen.

2. WebSocket (--webSocketService) (erst ab expecco 20.1)[Bearbeiten]

expecco muss die Adresse von expecco ALM kennen (hinterlegt in den expecco Einstellungen, siehe vorheriges Thema "Anbindung"). Weiters wird über "Name in expecco ALM" definiert, welchen logischen "Rechner" dieses expecco auf expecco ALM Seite repräsentiert. Bei Start des WebSocket-Testausführungsdiensts baut expecco eine WebSocket-Verbindung zu expecco ALM auf und hält diese offen. Alle Kommandos von expecco ALM werden nun über diese offene WebSocket-Verbindung übertragen. In diesem Fall ist auch die Verbindung über Proxy oder Ähnliches kein Problem.

Implizite Parameter[Bearbeiten]

In der Variablenumgebung eines von expecco ALM aus gestarteten Testlaufs werden folgende Informationen mitgegeben:

Anmerkung:

Da expeccoALM früher "expeccoNET" hiess, und dieser als Namenspräfix von Variablen schon sehr lange bei Kunden im Einsatz war, wurden diese aus Kompatibilitätsgründen nicht umbenannt. Daher erscheinen diese in der expecco Variablenumgebung mit dem Präfix "__expeccoNET_".
  • '__expeccoNET_Host__'
    hostname des auslösenden expecco ALM servers
  • '__expeccoNET_LoginUserName__'
    Loginname des verantwortlichen Benutzers des Testlaufs (typischerweise der Benutzer, welcher den Lauf gestartet bzw. den Zeitplan definiert hat)
  • '__expeccoNET_FullUserName__'
    ditto - vollständiger Name
  • '__expeccoNET_TestHost__'
    eigener Hostname (wie in expeccoALM bekannt)
  • '__expeccoNET_Definition_UUID__'
    value:(testResult testDefinition id printString) type:'String' toEnvironment:env.
  • '__expeccoNET_Definition_ID__'
    value:(testResult testDefinition name) type:'String' toEnvironment:env.
  • '__expeccoNET_Definition_Name__'
    value:(testResult testDefinition testDefinitionName) type:'String' toEnvironment:env.
  • '__expeccoNET_Definition_Summary__'
    value:(testResult testDefinition summary) type:'String' toEnvironment:env.
  • '__expeccoNET_Run_UUID__'
    value:(testResult id printString) type:'String' toEnvironment:env.
  • '__expeccoNET_Run_ID__'
    value:(testResult name) type:'String' toEnvironment:env.
  • '__expeccoNET_TestSuite_VersionNumber__'
    value:testResult testSuite versionNumber printString type:'String' toEnvironment:env.

Falls der Lauf einen Testaufbau besitzt:

  • '__expeccoNET_TestBed_ID__'
    value:testBed name type:'String' toEnvironment:env.
  • '__expeccoNET_TestBed_UUID__'
    value:testBed id printString type:'String' toEnvironment:env.
  • '__expeccoNET_TestBed_Name__'
    value:testBed testBedName type:'String' toEnvironment:env.

Falls der Lauf durch einen Zeitplan ausgelöst wurde:

  • '__expeccoNET_TestSchedule_UUID__'
    ...
  • '__expeccoNET_TestSchedule_ID__'
    ...
  • '__expeccoNET_TestSchedule_Summary__'
    ...





Copyright © 2014-2024 eXept Software AG