範例顯示如何建立自訂的 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(); } }