範例顯示如何建立自訂的 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");
// 頁框:ClassicsCD
jmb().click(atPath("Order"));
jmb().click(atPath("Order->View Existing Order Status..."));
// 頁框:檢視訂單狀態
nameComboB().click();
nameComboB().click(atText("Claire Stratus"));
ok().click();
// 頁框:檢視現有的訂單
existingTable().click(atCell(atRow("ORDER ID", "7", "ORDER DATE", "3/11/98", "STATUS", "Order Initiated"), atColumn("ORDER ID")), atPoint(33,2));
// 查詢物件來瞭解內含何種資料。 System.out.println (existingTable().getTestDataTypes());
//宣告表格變數。 ITestDataTable myTable;
myTable = (ITestDataTable)existingTable().getTestData("contents");
//印出欄列總數。 System.out.println ("Total Rows: " + myTable.getRowCount());
System.out.println ("Total Cols: " + myTable.getColumnCount());
//印出資料格的值。 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();
// 頁框:ClassicsCD
classicsJava(ANY,MAY_EXIT).close();
}
}