Creazione della classe dello script

Una volta elaborati tutti gli elementi del linguaggio di modello e dopo aver creato gli elementi del linguaggio del codice, viene creato il codice per la classe dello script.
Informazioni su questa attività

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:

  1. Vengono creati la struttura di elementi del linguaggio e l'elemento dello script di livello superiore.
  2. Viene eseguita la generazione del testo dello script e il testo è memorizzato nelle unità di memorizzazione Eclipse.
  3. Viene configurato il progetto di test, viene determinata e aggiornata la variabile classpath e viene creato il progetto.
Esempio
Il seguente codice rappresenta un esempio della struttura di codice dello script:
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;

    }

}

Feedback