Este ejemplo es una prueba contra la aplicación 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) { //Start Classics Java Application startApp("ClassicsJavaA"); //Navigate to Existing Order Grid 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(atPoint(172,92)); //Get the data for the table ITestDataTable orderTable = (ITestDataTable)existingTable().getTestData("contents"); //Display the available data types for the grid, total rows and columns. 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()); // Cycle through all rows for (int row=0; row < orderTable.getRowCount();++row) { // Cycle through all columns for (int col=0; col < orderTable.getColumnCount();++col) { // Print out values of cells at (row,col) coordinates System.out.println ("Row " + row + ", " + orderTable.getColumnHeader(col) + ": " +orderTable.getCell(row,col) ); } } // Close the frame close().click(); // Frame: ClassicsCD classicsJava(ANY,MAY_EXIT).close(); } }
Este ejemplo navega hacia la pantalla "Ver pedidos existentes" de la aplicación. El código de este ejemplo extrae los valores de todas las celdas de la cuadrícula y los visualiza en la ventana de la consola.
El primer paso para extraer los datos consiste en utilizar el método getTestData para extraer los datos desde el control. Esto se efectúa con la sintaxis siguiente:
ITestDataTable orderTable; orderTable = (ITestDataTable)existingTable(). getTestData("contents");
En este conjunto de datos concreto, puede determinar el número total de filas y columnas utilizando los métodos getRowCount y getColumnCount. También puede preguntar al control qué tipos de datos están disponibles en la tabla utilizando getTestDataTypes. El código siguiente envía los resultados de estas consultas a la ventana de la consola.
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());
El paso siguiente consiste en imprimir los valores de las celdas individuales, lo que se efectúa utilizando un bucle for para recorrer las filas y las columnas de la cuadrícula:
for (int row=0; row < orderTable.getRowCount();++row) { // Cycle through all columns for (int col=0; col < orderTable.getColumnCount();++col) { // Print out values of cells at (row,col) coords System.out.println ("Row " + row + ", " + orderTable.getColumnHeader(col) + ": " + orderTable.getCell(row,col) ); } }
El script de ejemplo utiliza el método getCell para imprimir el valor de la celda actual. Tenga también en cuenta, que el método getColumnHeader imprime la cabecera de la columna actual. Cuando trabaje con una cuadrícula, la numeración de las filas y de las columnas empieza por 0. No obstante, esto no es aplicable a los métodos getRowCount y getColumnCount, en los que la numeración empieza por 1.