Die globalen Scriptvariablen müssen zu Beginn des Scripts deklariert werden. Deren Anzahl und Typ sind so lange nicht bekannt, bis alle Testelemente verarbeitet sind. Die Namen dieser Variablen sowie andere zugehörige Informationen werden während der Verarbeitung des Testelementbaums erfasst und als temporäre Attribute der Testelemente im Testmodell gespeichert. Die Erstellung der Scriptklasse wird mit der Klasse ScriptDefinition abgeschlossen. Sie basiert auf einer separaten Scriptschablone.
Über die Scriptschablone werden die Importe und die Scriptglobalwerte deklariert. Darin enthalten sind die Parameter für scripttyprelevante Deklarationen und für Methoden zum Erstellen und Zurückmelden der Testelemente.
Folgende Schritte sind erforderlich, um Scriptklasse und Testprojekt auf höchster Ebene zu erstellen:
package customcode; import com.ibm.rational.test.lt.execution.http.IHTTPRequest; ... public class Google_Test_C240F3CB2D546DE2A9BDE160BDA411D9 extends com.ibm.rational.test.lt.execution.protocol.impl.HTTPTestScript { //GLOBAL DECLARATIONS private IBuiltInDataSource bds1 = new com.ibm.rational.test.lt.kernel.custom.impl.timestampdatasource(); { builtInDCVars[50] = new BuiltInCorrelationVar(bds1); builtInDCVars[50].setProperty(1, "16"); builtInDCVars[50].setProperty(2, "16"); } //TEST CLASS CONSTRUCTOR public Google_Test_C240F3CB2D546DE2A9BDE160BDA411D9(IContainer container, String invocationId) { super(container, "google", invocationId); setTimeoutScheme(IKTimeoutControl.CONTINUE); setArmEnabled(false); public void execute() { this.add(page_1(this)); ... super.execute(); } ...... //page_1 CREATION METHOD private HTTPPage page_1(IContainer parent) { HTTPPage page = new HTTPPage(parent, "Google", .....) { public void execute() { this.add(request_1(this); ... super.execute(); } ..... }; return page; } //request_1 CREATION METHOD private HTTPAction request_1(IContainer parent) { HTTPAction reqAction = new HTTPAction(parent, .....); ..... harvestContainer_16.addHarvestInstruction ("resp_content", dcVars[50], ..); ..... return reqAction; } }