Les variables de script globales doivent être déclarées au début du script ; leur nombre et leurs types ne sont pas connus tant que tous les éléments de test n'ont pas été traités. Les noms de ces variables et d'autres informations associées sont rassemblés lors du traitement de l'arborescence des éléments de test et stockés sous forme d'attributs temporaires pour les éléments de test dans le modèle de test. La classe de script est créée par la classe ScriptDefinition en fonction d'un modèle de script distinct.
Le modèle de script déclare les importations et les informations générales du script. Il contient les paramètres pour les déclarations propres au type du script et pour les méthodes de création et de renvoi des éléments de test.
La création d'un projet de test et de la classe de script de niveau supérieur implique les étapes ci-dessous.
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;
}
}