Cómo pasar parámetros al método callScript

En este tema se describe cómo utilizar las diferentes firmas del método callScript para pasar datos de un script a otro.

El ejemplo utiliza dos scripts de Functional Tester distintos:

El script TheCaller utiliza tres versiones diferentes del método callScript:

callScript("TheCalled");
String[] dataToPass = new String[4];
...
callScript("TheCalled",dataToPass);
Object[] objdataToPass = new Object[4];
...
callScript("TheCalled",objdataToPass);

El TheCaller se ha grabado de la siguiente manera:

import resources TheCallerHelper;               
                
import com.rational.test.ft.*;
import com.rational.test.ft.object.interfaces.*;
import com.rational.test.ft.object.interfaces.SAP.*;
import com.rational.test.ft.object.interfaces.siebel.*;
import com.rational.test.ft.script.*;
import com.rational.test.ft.value.*;
import com.rational.test.ft.vp.*;

/**
* Description : Functional Test Script
* @author Administrator
*/

public class TheCaller extends TheCallerHelper
{
/**
	 * Script Name   : TheCaller
	 * Generated     : Jul 14, 2006 5:13:02 PM
	 * Description   : Functional Test Script
	 * Original Host : WinNT Version 5.1  Build 2600 (S)
	 * 
	 * @since  2006/07/14
   * @author Administrator
*/
public void testMain (Object[] args)
{
    
    callScript("TheCalled");
    
    String[] dataToPass = new String[4];
    dataToPass[0] = "this";
    dataToPass[1] = "is";
    dataToPass[2] = "really";
    dataToPass[3] = "cool";
    
    callScript("TheCalled",dataToPass);
    
    Object[] objdataToPass = new Object[4];
    objdataToPass[0] = new String("Thought the previous was cool?");
    objdataToPass[1] = "Take this one!";
    objdataToPass[2] = new Float(0.02);
    objdataToPass[3] = new Integer(4711);
    
    callScript("TheCalled",objdataToPass);
}
}

El script TheCalled utiliza un bucle simple para imprimir los parámetros recibidos en System.out:

import resources.TheCalledHelper;

import com.rational.test.ft.*;
import com.rational.test.ft.object.interfaces.*;
import com.rational.test.ft.object.interfaces.SAP.*;
import com.rational.test.ft.object.interfaces.siebel.*;
import com.rational.test.ft.script.*;
import com.rational.test.ft.value.*;
import com.rational.test.ft.vp.*;
/**
* Description : Functional Tester Script
* @author Administrator
*/

public class TheCalled extends TheCalledHelper
{
/**
	 * Script Name   : TheCalled
	 * Generated     : Jul 14, 2006 5:13:02 PM
	 * Description   : Functional Test Script
	 * Original Host : WinNT Version 5.1  Build 2600 (S)
	 * 
	 * @since  2006/07/14
	 * @author Administrator
*/
public void testMain (Object[] args)
{
    if (args.length < 1)
    {
        System.out.println( "Expected at least 1 arg, but I got:
             "+args.length);
        return;
    }
    else
    {
        System.out.println( "Got: "+args.length+" args");
    }
    
    for (int i = 0; i < args.length; ++i)
    {
        System.out.println( " arg["+i+"] = "+args[i]);
    }
}
}

Comentarios