Servicetest aus einem BPEL-Modell erstellen

Sie können BPEL-Ressourcen (Business Process Execution Language) Ihres Arbeitsbereichs verwenden, um eine Reihe von Servicetests automatisch zu generieren, die den in einem synchronen BPEL-Modell ausgeführten Pfaden entsprechen.

Vorbereitende Schritte

Tests werden in Testprojekten gespeichert. Wenn Ihr Arbeitsbereich kein Testprojekt enthält, erstellt der Assistent für die Testerstellung ein solches Projekt. Sie haben dabei die Möglichkeit, den Namen zu ändern. Wenn Sie einen Test in einem bestimmten Projekt speichern möchten, prüfen Sie vor der Aufzeichnung des Tests, ob dieses Projekt vorhanden ist.

Wenn Sie SSL-Authentifizierung (Secure Sockets Layer) verwenden, vergewissern Sie sich, dass in Ihrem Arbeitsbereich die erforderlichen Schlüsseldateien vorhanden sind.

Wenn Sie JMS (Java™ Message Service) verwenden, stellen Sie sicher, dass Sie die Umgebung mit den richtigen Bibliotheken und Konfigurationsdateien konfiguriert haben. Vergewissern Sie sich, dass die WSDL-Dateien die richtige Syntax für die Testumgebung verwenden.

Wenn Sie die SOAP-Sicherheitsfunktion verwenden, stellen Sie sicher, dass die Umgebung mit den richtigen Bibliotheken und Konfigurationsdateien konfiguriert ist.

BPEL-Modelle müssen synchron sein. Asynchrone BPEL-Modelle werden nicht unterstützt.

Stellen Sie sicher, dass die BPEL-Modelle in einer gültigen Importanweisung auf die WSDL-Dateien verweisen. Beispiel:
<bpws:import importType="http://www.w3.org/2001/XMLSchema" location="foo.wsdl" namespace="http://foo"/> 
Relative Dateipfade wie "../../foo.wsdl" werden nicht unterstützt.
Vergewissern Sie sich, dass Sie in Ihrem Arbeitsbereich über eine oder mehrere WSDL-Dateien (Web Services Description Language) und das zugeordnete BPEL-Modell verfügen. Nur die Aufrufe zu Services mit einer gültigen Web-Service-Bindung werden berücksichtigt. Beispiel: Wenn das BPEL-Modell mit IBM® Websphere Integration Developer erstellt wurde, müssen Services mit den folgenden Web-Service-Bindungen exportiert werden:
<bpws:invoke name="myOperation" operation="myOperation" partnerLink="IServicePartner" portType="ns3:IService" wpc:displayName="myOperation" wpc:id="20">

Nur BPEL-spezifische Aufrufaktivitäten werden für die Generierung von Tests berücksichtigt. Alle BPEL-spezifischen Empfangs- und Antwortaktivitäten werden ignoriert.

Websphere Integration Developer generiert nicht die erforderlichen soapAction-Attribute für die SOAP-Operationen in den WSDL-Dateien. Ändern Sie die generierten WSDL-Dateien wie folgt für jede Operation: <soap:operation soapAction=""/>.

Vorgehensweise

So erstellen Sie einen Servicetest aus einem BPEL-Modell:

  1. Klicken Sie in der Perspektive "Leistungstest" auf Datei > Neu > Andere > Test > Testressourcen > BPEL zu Web-Service-Test und klicken Sie dann auf Weiter.
  2. Klicken Sie auf Durchsuchen, um im Arbeitsbereich eine BPEL-Datei auszuwählen, und klicken Sie dann auf Weiter.
  3. Ändern Sie auf der Seite Generierung des Web-Service-Tests die Anzahl der Pfade, indem Sie angeben, wie Aktivitäten und Sequenzen aus dem Datenfluss des BPEL-Modells verarbeitet werden. Jeder Pfad generiert einen Test.
    1. Wählen Sie im Abschnitt Ablauf aus, wie im Datenfluss gefundene, gleichzeitig ablaufende Sequenzen in Pfade konvertiert werden.
    2. Wählen Sie im Abschnitt Switch aus, ob Alternativaktivitäten aus dem Datenfluss getestet werden sollen.
    3. Wählen Sie im Abschnitt Auslösen aus, wie Aktivitäten vom Typ Auslösen aus dem Datenfluss in Pfade konvertiert werden sollen.
    4. Wählen Sie im Abschnitt Aufrufen aus, ob integrierte Catches innerhalb der Aktivitäten des Typs Aufrufen aus dem Datenfluss getestet werden sollen.
    5. Wählen Sie Datenkorrelation in generierten Tests aktivieren aus, um Verweise in den generierten Testelementen automatisch zu erstellen, indem Variablen an die Parameter der Web-Service-Aufruf- und Nachrichtenrückgabeelemente weitergegeben werden.
  4. Klicken Sie auf Pfade erneut zählen, um die Anzahl der zu testenden Pfade zu aktualisieren, und klicken Sie dann auf Weiter. Für jeden Pfad wird ein Test generiert.
  5. Für WSDL-Operationen, die an mehrere Ports gebunden sind, müssen Sie einen für den Test zu verwendenden Port auswählen.

    Unter jedem generierten Test zeigt die Liste Operationen die an mehrere Ports gebundenen WSDL-Operationen an.

    Wenn unter den Tests keine WSDL-Operationen angezeigt werden, sind alle Operationen nur an einen Port gebunden. In diesem Fall überspringen Sie Schritt 6.

    1. Erweitern Sie in der Liste Operationen einen Test und wählen Sie eine WSDL-Operation aus, die eine Bindung erfordert.
    2. Wählen Sie in der Liste Bindungsports den zum Testen der ausgewählten WSDL-Operation gewünschten Port aus.
    3. Wiederholen Sie die Schritte a und b für jede WSDL-Operation, die eine Bindung erfordert.
  6. Klicken Sie auf Weiter.
  7. Wählen Sie eine Speicherposition und einen Namen für den neuen Ordner aus, in dem die aus dem BPEL-Modell generierten Tests erstellt werden, und klicken Sie auf Fertigstellen.

Ergebnisse

Im Testnavigator wird ein neuer Ordner erstellt, der die generierten Servicetests enthält. Diese Tests werden mit Standardnachrichteninhalten generiert, für die gültige Eingabewerte angegeben werden müssen.

Feedback