+49 (30) 467086-20 service@microtool.de
Produkte » objectiF RM » Erweiterungsfunktion anlegen und ausführen

Erweiterungsfunktion anlegen und ausführen

Mit Hilfe von Erweiterungsfunktionen können Teams selbstständig neue Funktionen zu anderen Schnittstellen schreiben. Wenn Sie eine Erweiterungsfunktion verwenden möchten, müssen Sie in einer Code-Datei eine oder mehrere Funktionen schreiben, die ausgeführt werden sollen. Des Weiteren benötigen Sie eine Response- und eine Request-Datei, die die Struktur der Ein- und Ausgabedaten definiert und einen Befehl, der die Erweiterungsfunktion in objectiF RM ausführt.

Anwendungsbeispiel

In diesem Beispiel soll in der Ausgabe angezeigt werden, wie viele Test Sets in einer Test Set Ausführung fehlgeschlagen sind. Dabei wird die Erweiterungsfunktion auf ein Package vom Typ TestManagement ausgeführt. 

Erweiterungsfunktion anlegen
  1. Wählen Sie über das Kontextmenü eines Packages den Befehl Weitere anlegen/ Erweiterungsfunktion.
  2. Vergeben Sie einen Namen und wählen den Stereotypen aus, auf dem die Funktion später ausgeführt werden soll.
  1. Markieren Sie die Optionen Request-Schema automatisch anlegen und  – sofern Sie Ein- und Rückgabedaten separat definieren möchten – die Option Response-Schema automatisch anlegen. Alternativ können Sie auch die Option Request-Schema verwenden markieren.
  2. Speichern Sie den Dialog mit OK.

Es wird ein Verzeichnis mit initialen Dateien unter die Erweiterungsfunktion angelegt und abhängig von den markierten Optionen eine bzw. zwei Erweiterungschemas erzeugt. Gleichzeitig wird die Datei Index.js der Erweiterungsfunktion als Einstiegsdatei zugeordnet.

Erweiterungsschema bearbeiten

Im zweiten Schritt bearbeiten Sie die generierten Schemata. Ein Erweiterungsschema definiert, welche Eigenschaften über eine Erweiterungsfunktion ausgewertet werden dürfen. Je nachdem, was Sie machen wollen, benötigen Sie ein Schema, das die Daten aus objectiF RM ausliest und ein Schema, das die geänderten Daten wieder zurückschreibt. Wenn Sie Ein- und Ausgabedaten in einer Funktion abhandeln, dann brauchen Sie nur ein Erweiterungsschema anlegen.

  1. Öffnen Sie das Erweiterungsschema Test Set auswerten (Request) über den Kontextmenübefehl Bearbeiten oder per Doppelklick.
  2. Optional können Sie den Namen überschreiben, da der Name aus der Erweiterungsfunktion abgeleitet wurde.
  3. In der Registerkarte Schema markieren Sie die Eigenschaften, die von der Funktion benötigt wird.
  4. Klappen Sie den Eintrag TestManagement auf und markieren für dieses Beispiel folgende Eigenschaften: in der Liste TestSetExecutionArtifacts die Id, unter TestArtifactRelationships die Id und Name sowie unter Aktueller Zustand die Eigenschaft Name.
Gut zu wissen
Wenn Sie ein Schema exportiert haben, können Sie es über das Kontextmenü eines Erweiterungsschemas mit dem Befehl JSON Schema importieren importieren. Sie können auch ein eigenes Schema schreiben und es über diesen Befehl importieren.
  1. Bestätigen Sie mit OK.
Code schreiben

Im nächsten Schritt schreibt der Entwickler seine Funktion in einem geeigneten Editor. Wenn Sie Visual Studio Code auf Ihrem Rechner als Standardprogramm definiert haben, lassen sich *.js Dateien per Doppelklick öffnen. Ansonsten wählen Sie über das Kontextmenü der Datei Datei in Visual Studio Code öffnen.

  1. Wählen Sie im Kontextmenü des Verzeichnisses, das die Code Datei(en) enthält den Befehl Verzeichnis in Visual Studio Code öffnen.
    Das gesamte Verzeichnis wird ausgeliehen und in Visual Studio Code geöffnet.
  2. Bearbeiten Sie die Dateien und speichern Sie sie.
Code-Snippet
Öffnen Sie die generierte Index.js Datei und ersetzen die Funktion durch diesen Code:
exports.handler = async function (input) {
const failedStateName = 'fehlgeschlagen';   const tseCount = input.testSetExecutionArtifacts.length; const testCount = input.testSetExecutionArtifacts.reduce((sum, tse) => sum + tse.testArtifactRelationships.length, 0); const failedTestCount = input.testSetExecutionArtifacts.reduce((sum, tse) => sum + tse.testArtifactRelationships.filter(t => t.currentState.name == failedStateName).length, 0); if (testCount === 0) { return { message: `In diesem Package sind keine Test Set Ausführungen mit Tests vorhanden.`, }; } else { return { message: `In ${tseCount} Test Set Ausführungen sind ${(failedTestCount / testCount) * 100}% aller Tests fehlgeschlagen (${failedTestCount} von ${testCount}).`, }; }

Generierte Datei
  1. Wählen Sie jetzt im Kontextmenü des Verzeichnisses den Befehl Zurückgeben aus, um die Änderungen zu übernehmen.
  2. Im Folgedialog sehen Sie die Dateien, die sich geändert haben. Markierte Dateien werden zurückgeführt und überschrieben, wenn Sie auf OK klicken.
Befehl anlegen

Damit Sie die Erweiterungsfunktion auch ausführen können, müssen Sie zum Schluss noch einen Befehl anlegen, der Ihnen über das Kontextmenü angeboten wird.

  1. Wechseln Sie ins Backstage-Menü und wählen Projekt/ Kommandos für Erweiterungsfunktionen.
Gut zu wissen
Wenn Sie später eine Erweiterungsfunktion löschen möchten, müssen Sie zuvor das Kommando in der Sicht Kommandos für Erweiterungsfunktionen löschen.
  1. In der Sicht Kommandos für Erweiterungsfunktionen klicken Sie rechts oben auf die PlusSchaltfläche, um einen neuen Befehl anzulegen.
  1. Im Folgedialog benennen Sie den Befehl und wählen unter Auszuführende Erweiterungsfunktion die eben erstellte Erweiterungsfunktion aus.
  2. Unter Positionierung geben Sie an in welcher Kontextmenügruppe der Befehl eingeordnet werden soll.
    Haben Sie mehrere Befehle in einer Gruppe können Sie über Gewicht bestimmen, an welche Stelle innerhalb des Menüs der Befehl einsortiert wird. 

Sie können auch eine eigene Gruppe für das Kontextmenü erstellen, wenn Sie unter Anzeigen in Menügruppe Benutzerdefiniert auswählen.

  1. Schließen Sie den Dialog, indem Sie auf OK klicken.
Befehl ausführen

Sie können eine Erweiterungsfunktion manuell über das Kontextmenü anwenden, über einen Task oder über eine Aktion im Zustandsautomaten ausführen.
Der Befehl wird nur auf Packages vom Typ TestManagement ausgeführt.

  • Wählen Sie im Kontextmenü eines Packages den konfigurierten Befehl Fehlgeschlagene Tests berechnen aus.

Die Erweiterungsfunktion wird ausgeführt und in der Ausgabe sehen Sie prozentual die fehlgeschlagenen Tests.