In diesem Beispiel werden Tests an der Java-Anwendung Classics durchgeführt:
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(); } }
In diesem Beispiel navigieren Sie zur Anzeige "View Existing Orders" (Vorhandene Aufträge anzeigen) der Anwendung. Mit dem Code in diesem Beispiel werden die entsprechenden Werte aus den Zellen des Rasters ausgelesen und im Konsolfenster angezeigt.
Der erste Schritt zum Extrahieren der Daten besteht in der Anwendung der Methode getTestData, um die Daten aus dem Steuerelement auszulesen. Dazu wird folgende Syntax verwendet:
ITestDataTable orderTable; orderTable = (ITestDataTable)existingTable(). getTestData("contents");
Auf Grundlage dieser Daten können Sie mit den Methoden getRowCount und getColumnCount die Gesamtanzahl der Zeilen und Spalten ermitteln. Sie können auch die Methode getTestDataTypes verwenden, um das Steuerelement abzufragen, welche Datentypen in der Tabelle verfügbar sind. Mit dem folgenden Code werden die Ergebnisse dieser Abfragen an das Konsolfenster gesendet.
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());
Im nächsten Schritt werden die Werte der einzelnen Zellen gedruckt. Dabei wird zum Navigieren durch die Zeilen und Spalten des Rasters eine for-Schleife verwendet.
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) ); } }
Im Beispielscript wird die Methode getCell zum Ausdrucken des Werts der aktuellen Zelle verwendet. Beachten Sie, dass mit der Methode getColumnHeader die aktuelle Spaltenüberschrift gedruckt wird. Beim Arbeiten mit einem Raster beginnt die Nummerierung sowohl von Zeilen als auch Spalten mit 0. Dies gilt jedoch nicht für die Methoden getRowCount und getColumnCount, bei denen die Nummerierung mit 1 beginnt.