Dieses Beispiel zeigt, wie die Methode getTestData
von Functional Test verwendet wird, um auf die Werte in den Zellen einer Rastersteuerung zuzugreifen.
In diesem Beispiel werden Tests 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.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 : <b>GetTreeDataExample</b>
* Generated : <b>Dec 14, 2002 6:24:48 AM</b>
* Modified : <b>Dec 14, 2002 6:24:48 AM</b>
* Description : Functional Test Script
* Original Host : WinNT Version 5.0 Build 2195 (Service Pack 3)
*
* @since 2002/12/14
* @author administrator
*/
public void testMain (Object[] args)
{
// Turn off Log Viewer for this example
setOption(IOptionName.BRING_UP_LOGVIEWER, false);
// Start Classics Java Application
startApp("ClassicsJavaA");
// Navigate to Existing Order Grid
jmbMenuBar().waitForExistence();
jmbMenuBar().click(atPath("Order"));
jmbMenuBar().click(atPath("Order->View Existing Order Status..."));
// Frame: View Order Status
nameComboBComboBox().click();
nameComboBComboBox().click(atText("Claire Stratus"));
okstatuslogon2Button().click();
// Wait for table to be created
existingTableTable().waitForExistence();
// Get the data for the table
ITestDataTable orderTable;
orderTable
(ITestDataTable)existingTableTable().getTestData("contents");
// Display the available data types for the grid, total rows and
// columns.
System.out.println ("Available Data Types: " +
existingTableTable().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
closeorderButton().click();
// Shut down Classics Java Application
ClassicsJavaFrame(ANY,MAY_EXIT).close();
}
}
In diesem Beispiel wird zur Anzeige "View Existing Orders" der Anwendung navigiert. Mit dem Code in diesem Beispiel werden die Werte aus allen Zellen im Raster extrahiert und im Konsolfenster angezeigt.
Der erste Schritt zum Extrahieren der Daten ist die Verwendung der Methode getTestData
, um die Daten aus dem Steuerelement zu extrahieren.
Dazu wird folgende Syntax verwendet:
ITestDataTable orderTable;
orderTable = (ITestDataTable)existingTableTable().
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: " +
existingTableTable().getTestDataTypes());
System.out.println ("Total Rows in table : " +
orderTable.getRowCount());
System.out.println ("Total Cols in table : " +
orderTable.getColumnCount());		
Der nächste Schritt besteht im Ausdrucken der Werte in den einzelnen Zellen. Dazu wird eine for-Schleife verwendet, um die Zeilen und Spalten des Rasters zu durchlaufen:
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.
Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2002, 2004. Alle Rechte vorbehalten.