callScript 메소드로 매개변수 전달

이 주제에서는 callScript 메소드의 다른 서명을 사용하여 한 스크립트에서 다른 스크립트로 데이터를 전달하는 방법에 대해 설명합니다.

예제에서는 두 개의 서로 다른 Functional Tester 스크립트를 사용합니다.

TheCaller 스크립트는 서로 다른 세 가지 버전의 callScript 메소드를 사용합니다.

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

TheCaller 스크립트는 다음과 같이 기록됩니다.

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);
}
}

TheCalled 스크립트는 단순 루프를 사용하여 수신한 매개변수를 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]);
    }
}
}

피드백