Mit der Methode "GetTestData" durch Tabellenzellen iterieren

In diesem Beispiel erfahren Sie, wie Sie über die Functional Test-Methode GetTestData auf die Werte in den Zellen einer Rastersteuerung zugreifen können. Im Folgenden wird erneut die Anwendung "Classics Java" getestet:

Imports Rational.Test.Ft
Imports Rational.Test.Ft.Object.Interfaces
Imports Rational.Test.Ft.Script
Imports Rational.Test.Ft.Value
Imports Rational.Test.Ft.Vp
 
Public Class GetGridDataExample Inherits GetGridDataExampleHelper
 
    ' Script Name   : GetTreeDataExample
    ' Generated     : Dec 14, 2005 6:24:48 AM
    ' Description   : Functional Test Script

   ' since 2005/12/14
    ' author Administrator
 
    Public Function TestMain ByVal args() As Object)
        ' 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
        Dim OrderTable As ITestDataTable
        OrderTable = ExistingTableTable(). _
         GetTestData("contents")
 
        ' Display the available data types for the grid, total rows and
        ' columns.
        System.Console.WriteLine("Available Data Types: " + _
          ExistingTableTable().GetTestDataTypes())
        System.Console.WriteLine("Total Rows in table : " + _
          OrderTable.GetRowCount())
        System.Console.WriteLine("Total Cols in table : " + _
          OrderTable.GetColumnCount())
 
        ' Cycle through all rows
        Dim Row As Integer
        For Row = 0 To OrderTable.GetRowCount() - 1
          ' Cycle through all columns
          Dim Col As Integer
          For Col = 0 To OrderTable.GetColumnCount() - 1
           ' Print out values of cells at (Row, Col) coordinates
           System.Console.WriteLine("Row " + Row + ", " + _
             OrderTable.GetColumnHeader(col) + ": " _
               + OrderTable.GetCell(Row, Col))
          Next Col
        Next Row
 
       ' Close the frame
       CloseorderButton().Click()
 
       ' Shut down Classics Java Application
       ClassicsJavaFrame(ANY,MAY_EXIT).Close()
       End Function

 End Class

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.

Im ersten Schritt verwenden Sie die Methode GetTestData, um die Daten aus der Steuerung zu extrahieren. Dazu wird folgende Syntax eingesetzt:

Dim OrderTable As ITestDataTable
OrderTable = ExistingTableTable().GetTestData("contents")

Anhand dieses Datenbestands können Sie über die Methoden GetRowCount und GetColumnCount die Gesamtzahl der Zeilen und Spalten bestimmen. Mit der Methode GetTestDataTypes können Sie sich außerdem über die in der Tabelle enthaltenen Datentypen informieren. Der folgende Code überträgt die Ergebnisse dieser Anfragen an das Konsolfenster.

System.Console.WriteLine("Available Data Types: " + _
        ExistingTableTable().GetTestDataTypes())
System.Console.WriteLine("Total Rows in table : " + _
        OrderTable.GetRowCount())
System.Console.WriteLine("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.

' Cycle through all rows
Dim Row As Integer
For Row = 0 To OrderTable.GetRowCount() - 1   ' Cycle through all columns
  Dim Col As Integer
  For Col = 0 To OrderTable.GetColumnCount() - 1
    ' Print out values of cells at (Row, Col) coordinates
    System.Console.WriteLine("Row " + Row + ", " + _
      OrderTable.GetColumnHeader(Col) + ": " _
        + OrderTable.GetCell(Row, Col))
    Next Col
 Next Row

In dem Beispielscript wird zum Drucken des Werts der aktuellen Zelle die Methode GetCell angewendet. Beachten Sie außerdem, dass über die Methode GetColumnHeader die Kopfzeile der aktuellen Spalte ausgedruckt wird. Wenn Sie mit einem Raster arbeiten, beginnt die Nummerierung von Zeilen und Spalten mit dem Wert 0. Eine Ausnahme bilden die beiden Methoden GetRowCount und GetColumnCount, bei denen die Nummerierung mit dem Wert 1 beginnt.

Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2002, 2004. Alle Rechte vorbehalten.