The example shows how to create custom Java code that exploits the Functional Test object model to extract the information from a table. The sample first uses the getTestData method to have Functional Tester return a TestDataTable object that contains all of the data in the table. Given this data table, the getRowCount and getColumnCount methods determine the size of the table. Finally, with these numbers, the code cycles through each cell and uses the getCell method to determine the contents of each cell in the table. The values in the cells display in the console window.
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();
}
}