Le variabili dello script globale devono essere dichiarate all'inizio dello script e il numero e i tipi non sono noti fino a che tutti gli elementi di test vengono elaborati. I nomi di queste variabili e le altre informazioni associate sono raccolti durante l'elaborazione della struttura di elementi di test e sono memorizzati come attributi temporanei degli elementi di test nel modello di test. La creazione della classe dello script viene realizzata mediante la classe ScriptDefinition e si basa su un modello di script separato.
Il modello di script dichiara le importazioni e gli elementi globali dello script. Esso contiene i parametri per le dichiarazioni specifiche del tipo di script e per la creazione dei metodi e la restituzione degli elementi di test.
La creazione della classe dello script di livello superiore e del progetto di test implica le seguenti operazioni:
package test; 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; } }