Las variables de script globales deben declararse en la parte superior del script y sus números y tipos no se conocen hasta que se procesan todos los elementos de pruebas. Los nombres de estas variables y otra información asociada se recopilan durante el proceso del árbol de elementos de pruebas y se almacenan como atributos temporales de los elementos de pruebas en el modelo de prueba. La creación de la clase de script la realiza la clase ScriptDefinition y se basa en una plantilla de scripts separada.
La plantilla de scripts declara las importaciones y las variables globales de scripts. Contiene los parámetros correspondientes para las declaraciones específicas del tipo de script y para los métodos que crean y devuelven los elementos de prueba.
La creación de la clase de script de nivel superior y el proyecto de pruebas implica los pasos siguientes:
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 {
//DECLARACIONES DE VARIABLES GLOBALES
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"); }
//CONSTRUCTOR DE CLASE DE PRUEBA
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();
}
......
//MÉTODO DE CREACIÓN DE page_1
private HTTPPage page_1(IContainer parent) {
HTTPPage page = new HTTPPage(parent, "Google", .....) {
public void execute() {
this.add(request_1(this);
...
super.execute();
}
.....
};
return page;
}
//MÉTODO DE CREACIÓN DE request_1
private HTTPAction request_1(IContainer parent) {
HTTPAction reqAction = new HTTPAction(parent, .....);
.....
harvestContainer_16.addHarvestInstruction ("resp_content", dcVars[50], ..);
.....
return reqAction;
}
}