Creación de la clase de script

Cuando se hayan procesado todos los elementos del lenguaje de modelo y se hayan creado los elementos del lenguaje de código, se genera el código para la clase de script.

Acerca de esta tarea

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.

Procedimiento

La creación de la clase de script de nivel superior y el proyecto de pruebas implica los pasos siguientes:

  1. Se crean el árbol de elementos del lenguaje y el elemento de script de nivel superior.
  2. Se realiza la generación de texto de script y el texto se almacena en unidades de almacenamiento de Eclipse.
  3. Se configura el proyecto de prueba, se determina y se actualiza la vía de acceso de clases y se crea el proyecto.

Ejemplo

El código siguiente representa un ejemplo de la estructura de código de script:
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;

    }

}

Comentarios