Datenkorrelation für Testgenerierung implementieren

Für die Implementierung der Datenkorrelation zur Testgenerierung müssen Sie sich mit den folgenden Klassen vertraut machen: "com.ibm.rational.test.lt.datacorrelation.testgen.proto.IProtoElementAdapter", "com.ibm.rational.test.lt.datacorrelation.testgen.DataCorrelator" und "com.ibm.rational.test.lt.datacorrelation.testgen.IDCStringLocator".

Für die Implementierung der Datenkorrelation zur Testgenerierung und Scriptbearbeitung müssen Ihre Modellelemente mit den Erweiterungen com.ibm.rational.test.lt.models.behavior.data.DataSource und com.ibm.rational.test.lt.models.behavior.data.Substituter versehen werden, damit Sie den Modellelementen Datenquellen und Substitute zuordnen können. Außerdem müssen Sie beim Erweitern dieser Klassen dafür sorgen, dass der erforderliche Code implementiert wird, damit Datenquellen und Substitute auf Platte gespeichert werden können. Weitere Informationen zu diesem Thema finden Sie in der Dokumentation zum Modell.

Sie müssen ein eigenes Plug-in zur Datenkorrelation erstellen, sodass der Erweiterungspunkt DCTestgenProto (im Plug-in com.ibm.rational.test.lt.datacorrelation.testgen definiert) nochmals erweitert werden kann. Damit ein Erweiterungspunkt erweitert werden kann, muss über Ihren Code die Schnittstelle IProtoElementAdapter (ist in com.ibm.rational.test.lt.datacorrelation.testgen.proto definiert) implementiert werden. Wenn Sie anschließend den Erweiterungspunkt DCTestgenProto erweitern, müssen Sie folgende Elemente verwenden:
  • ID - die eindeutige ID Ihrer Erweiterung
  • Name - ein für Sie aussagekräftiger Name
  • Point - der Erweiterungspunkt com.ibm.rational.test.lt.datacorrelation.testgen.DCTestgenProto
.
Weitere Elementdetails sind:
  • class - Dabei handelt es sich um den vollständigen Namen der Klasse (inkl. des Plug-in-Namens), von der IProtoElementAdapter implementiert wird.
  • protoType - Dabei handelt es sich um den Modellelementtyp, der von diesem Plug-in ausgeführt wird. (Beispiel: In HTTP ist das ausgeführte Modellelement com.ibm.rational.test.lt.models.behavior.http.HTTPRequest.)
  • generic - Dabei handelt es sich um Boolesche Werte (entweder "true" oder "false"). Der Wert "true" gibt an, dass im Falle anderer Plug-ins, die mit demselben "protoType" arbeiten, das vorliegende Plug-in zuletzt aufgerufen wird.
  • uniqueID - Diese ID ist für alle Datenkorrelatoren eindeutig.

Sobald Sie den Erweiterungspunkt zur Datenkorrelation erweitert haben, wird Ihr Code mit allen Elementen des Modelltyps, den Sie definiert haben, von der Hauptsteuerkomponente zur Datenkorrelation aufgerufen.

Die Datenkorrelation setzt sich bei der Testgenerierung aus zwei Teilen zusammen. Erster Teil ist die automatische Datenkorrelation (findet bei Testgenerierung statt). Die automatische Datenkorrelation wird über den Aufruf DataCorrelator.CorrelateAll() ausgelöst. Wenn diese Methode bei der Testgenerierung automatisch aufgerufen wird, werden außerdem zwei Hauptmethoden in Ihrem Plug-in aufgerufen. Dabei handelt es sich um die Methoden IProtoAdapter.findSubs() und IProtoAdapter.findReference(). Über die Methode findSubs() muss eine Liste mit Substituten zum aktuellen Element zurückgemeldet werden. Diese Liste wird an Ihre Methode übergeben. Werden keine Substitute gefunden, wird der Wert null zurückgemeldet. Über die Methode findReference() wird versucht, eine Referenz zum übergebenen Substitut zu finden. Die Suche nach Referenzen beginnt beim Element vor dem Substitut und wird so lange rückwärts in der Testsuite fortgeführt, bis eine passende Referenz gefunden wird. Wird keine Referenz gefunden, wird der Wert null zurückgemeldet. Der Aufruf CorrelateAll wird dazu verwendet, nach allen verfügbaren Korrelationen zu suchen, sodass Sie nicht bei Testbearbeitung manuell danach suchen müssen.

Die anderen Teile der Klasse IProtoAdapter werden bei Testbearbeitung aufgerufen, wenn ein Benutzer eine Substitutionssite oder eine Referenz erstellen oder eine Korrelation zwischen einer Substitutionssite und einer Referenz vornehmen möchte. Wenn Sie Ihre eigenen Substitute oder Datenquellen erstellen möchten, müssen Sie dazu die Methoden "makeDataSource()" und "makeSub()" verwenden. Dazu wird die Klasse DCStringLocator mit allen erforderlichen Informationen zu Offsets und Text bereitgestellt. Über DCStringLocator können Sie angeben, welches Substitut oder welche Datenquelle Sie erstellen möchten. Anschließend wird wieder IDataCorrelator aufgerufen. Dabei werden in dem Modell Korrelationen, Substitute und Datenquellen für Sie erstellt. Welche Methoden sich für Sie anbieten, können Sie der Dokumentation zur Klasse IDataCorrelator entnehmen.


Feedback