
eCATT ist ein Testwerkzeug, das automatische Tests durch die Ausführung von Testskripts unterstützt. Testskripts enthalten Algorithmen, die aus eCATT-Befehlen bestehen. Es werden einzelne Befehle für die zu testenden Objekte in einem Zielsystem verwendet.
eCATT verfügt über eine Funktion, die es Testern ermöglicht, Web Services eines beliebigen Service-Providers im Netzwerk zu testen. eCATT verwendet die Web-Service-Laufzeit und generiert ABAP-Proxy-Klassen für den Aufruf von Web Services.
In den Standarddefinitionen der Web Services gibt es keine allgemeingültige Definition für das Reporting auf Geschäftslogikebene - z.B. für Fehlermeldungen bei logischen Anwendungen und für andere Informationen, die von dem Service, der die Anwendung anbietet, dem Service-Consumer bereitgestellt werden müssen.
Die von der SAP-Software gelieferten Web Services verwenden häufig eine gemeinsam verwendete Nachrichtenstruktur im Exportparameter LOG des Web Services. Die Nachrichtenstruktur wird als eine Tabelle von Nachrichteneinträgen definiert, von denen jede Felder enthält. Unter anderem sind das die folgenden:
|
Feldname |
Datentyp |
Inhalt |
|---|---|---|
|
TYPE_ID |
CHAR40 |
Msgnr(msgid) |
|
SEVERITY_CODE |
CHAR1 |
3,2, oder 1 |
|
NOTE |
CHAR200 |
Nachrichtentext mit allen variablen Teilen |
Wenn die Struktur der Nachricht die oben beschriebenen Felder enthält, bearbeitet eCATT die von Web-Service-Aufrufen gemeldeten Nachrichten im Exportparameter LOG und verwendet dafür die standardmäßige Nachrichtenbehandlung von eCATT.
Die Nachrichtenstruktur von eCATT (ETMSG_RES) wird entsprechend gemäß der folgenden Mapping-Regeln gefüllt:
|
WS Log field |
ETMSG_RES field |
Transfomation rule |
|---|---|---|
|
SEVERITY_CODE |
MSGTYP |
3=E; 2=W; 1=I oder beliebig |
|
TYPE_ID |
MSGID |
Wert innerhalb ( ) von msgnr(msgid) |
|
TYPE_ID |
MSGNR |
Wert vor ( ) von msgnr(msgid) |
|
MSGTEXT |
NOTE |
keine Transformation, der Nachrichtentext wird ohne Veränderung verwendet |
Standardverwendung
Nachrichtenbehandlung ohne MESSAGE/ENDMESSAGE
Es gibt kein spezielles Verhalten zur Laufzeit für WEBSERVICE-Befehle, vorausgesetzt es werden keine Fehlermeldungen ausgelöst.
Wenn eine Nachricht mit MSGTYP = E (SEVERITY_CODE = 3) auftritt, wird der eCATT-Befehl WEBSERVICE als FAILED (rotes Symbol) im eCATT-Protokoll gekennzeichnet.
Die Nachricht selbst wird im eCATT-Protokoll bei Befehl WEBSERVICE angezeigt.
Nachrichtenbehandlung mit MESSAGE/ENDMESSAGE
Testentwickler können Regeln im Befehl MESSAGE verwenden, um Einfluss auf die weitere Testausführung und das Testergebnis zu nehmen, wenn eine der zugeordneten Nachrichten auftritt.
Im Auswahlbereich einer Regel können Sie festlegen, welche Nachrichten gewählt werden sollen, indem Sie den Nachrichtentyp, die Nachrichten-ID oder die Nachrichtennummer als Kriterium verwenden.
Im Aktionsbereich einer Regel können Sie eine Nachricht als Erlaubt oder Erforderlich definieren. Sie können den Status Fehlgeschlagen setzen, wenn bestimmte Nachrichten ausgelöst werden. Sie können den Status Erfolgreich setzen, wenn eine bestimmte Nachricht erwartungsgemäß auftritt.