下列範例測試 Classics Java™ 應用程式:
import resources.GetGridDataExampleHelper; 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 GetGridDataExample extends GetGridDataExampleHelper { /** * Script Name : GetGridDataExample * Generated : Jul 14, 2006 3:05:22 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) { //啟動 Classics Java 應用程式 startApp("ClassicsJavaA"); //導覽至現有訂單方格 jmb().click(atPath("Order")); jmb().click(atPath("Order->View Existing Order Status...")); // 頁框:檢視訂單狀態 nameComboB().click(); nameComboB().click(atText("Claire Stratus")); ok().click(); // 頁框:檢視現有的訂單 existingTable().click(atPoint(172,92)); //取得表格的資料 ITestDataTable orderTable = (ITestDataTable)existingTable().getTestData("contents"); //顯示方格可用的資料類型、總列數及直欄總數。System.out.println ("Available Data Types: " + existingTable().getTestDataTypes()); System.out.println ("Total Rows in table : " + orderTable.getRowCount()); System.out.println ("Total Cols in table : " + orderTable.getColumnCount()); // 輪流選取所有列 for (int row=0; row < orderTable.getRowCount();++row) { // 輪流選取所有直欄 for (int col=0; col < orderTable.getColumnCount();++col) { // 印出 (row,col) 座標上的資料格的值 System.out.println ("Row " + row + ", " + orderTable.getColumnHeader(col) + ": " +orderTable.getCell(row,col) ); } } // 關閉頁框 close().click(); // 頁框:ClassicsCD classicsJava(ANY,MAY_EXIT).close(); } }
這個範例導覽至應用程式的 "View Existing Orders" 畫面。此範例中的程式碼會擷取方格中所有資料格的值,並顯示在主控台視窗中。
擷取資料的第一步是利用 getTestData 方法,從控制項擷取資料。語法如下:
ITestDataTable orderTable; orderTable = (ITestDataTable)existingTable(). getTestData("contents");
取得這個資料集之後,您可以利用 getRowCount 和 getColumnCount 方法來判斷欄列總數。您也可以利用 getTestDataTypes,向控制項詢問表格有哪些可用的資料類型。下列程式碼會將這些查詢的結果傳送至主控台視窗。
System.out.println ("Available Data Types: " + existingTable().getTestDataTypes()); System.out.println ("Total Rows in table : " + orderTable.getRowCount()); System.out.println ("Total Cols in table : " + orderTable.getColumnCount());
下一步是利用 for 迴圈來輪流選取方格的列和欄,印出每個資料格的值:
for (int row=0; row < orderTable.getRowCount();++row) { // 輪流選取所有直欄 for (int col=0; col < orderTable.getColumnCount();++col) { // 印出 (row,col) 座標上的資料格的值 System.out.println ("Row " + row + ", " + orderTable.getColumnHeader(col) + ": " + orderTable.getCell(row,col) ); } }
範例 Script 使用 getCell 方法來印出現行資料格的值。請注意,getColumnHeader 方法會印出現行直欄標題。在使用方格時,列和欄的編號從 0 開始。這不同於 getRowCount 和 getColumnCount 方法從 1 開始編號。