예제에서는 Functional Test 오브젝트 모델을 활용하여 테이블에서 정보를 추출하는 사용자 정의 Java 코드를 작성하는 방법을 보여줍니다. 첫 번째 샘플에서는 getTestData 메소드를 사용하여 Functional Tester가 테이블의 모든 데이터가 들어 있는 TestDataTable 오브젝트를 리턴하도록 합니다. 이 데이터 테이블이 제공된 상태에서 getRowCount 및 getColumnCount 메소드는 테이블의 크기를 판별합니다. 마지막으로 이러한 숫자를 사용하여 코드는 각 셀을 순환하고 getCell 메소드를 사용하여 테이블의 각 셀의 컨텐츠를 확인합니다. 셀의 값은 콘솔 창에 표시됩니다.
import resources.TableTestHelper;
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 TableTest extends TableTestHelper
{
/**
* Script Name : TableTest
* Generated : Jul 17, 2006 1:56:28 PM
* Description : Functional Test Script
* Original Host : WinNT Version 5.1 Build 2600 (S)
*
* @since 2006/07/17
* @author Administrator
*/
public void testMain (Object[] args)
{
startApp("ClassicsJavaA");
// Frame: ClassicsCD
jmb().click(atPath("Order"));
jmb().click(atPath("Order->View Existing Order Status..."));
// Frame: View Order Status
nameComboB().click();
nameComboB().click(atText("Claire Stratus"));
ok().click();
// Frame: View Existing Orders
existingTable().click(atCell(atRow("ORDER ID", "7", "ORDER DATE", "3/11/98", "STATUS", "Order Initiated"), atColumn("ORDER ID")), atPoint(33,2));
// Query object to find out what kind of data it has.
System.out.println (existingTable().getTestDataTypes());
//Declare variable for table.
ITestDataTable myTable;
myTable = (ITestDataTable)existingTable().getTestData("contents");
//Print out total rows & columns.
System.out.println ("Total Rows: " + myTable.getRowCount());
System.out.println ("Total Cols: " + myTable.getColumnCount());
//Print out cell values.
for (int row =0;row < myTable.getRowCount();row++)
{
for (int col = 0;col < myTable.getColumnCount();col++)
{
System.out.println("Value at cell (" + row+ "," + col+")is: " + myTable.getCell(row,col));
}
}
close().drag();
// Frame: ClassicsCD
classicsJava(ANY,MAY_EXIT).close();
}
}