Daten aus Kombinationsfeld/Listenfeld extrahieren

In diesem Abschnitt erfahren Sie, wie Sie über die Functional Test-Methode GetTestData auf die Werte in der Liste eines Kombinations-/Listenfelds zugreifen können. Im folgenden Beispiel 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 GetListDataExample Inherits GetListDataExampleHelper
    ' Script Name   : GetListDataExample    ' Generated     : Dec 31, 2005 1:15:35 PM    ' Modified      : Dec 31, 2005 1:15:35 PM    ' Description   : Functional Test Script
    ' since 2005/12/31    ' author Administrator
  Public Function TestMain (ByVal args() As Object)        StartApp("ClassicsJavaA")
       ' Frame: ClassicsCD        Tree2Tree().Click(AtPath _          ("Composers->Schubert->Location(PLUS_MINUS)"))        Tree2Tree().Click(AtPath _          ("Composers->Schubert->Die schone Mullerin, Op. 25"))        PlaceOrderButton2Button().Click()         ' Declare variables for list        Dim NameList As ITestDataList        Dim NameListElements As ITestDataElementList        Dim NameListElement As ITestDataElement
 
        ' Frame: Member Logon        NameComboComboBox().WaitForExistence()
 
        'Available test data types: {selected=Selected List Element,        ' list=List Elements}        Dim Ht As System.Collections.Hashtable = _          NameComboComboBox().GetTestDataTypes()        System.Console.WriteLine(Ht)
 
        ' Get all elements        NameList = NameComboComboBox().GetTestData("list")
 
        NameListElements = NameList.GetElements()
 
        Dim ListElemCount As Integer        ListElemCount = NameList.GetElementCount()
 
        Dim I As Integer        For I = 0 To ListElemCount - 1          NameListElement = NameListElements.GetElement(I)          System.Console.WriteLine(NameListElement.GetElement(). _            ToString())
 
          ' Click on each element          NameComboComboBox().Click()          NameComboComboBox().Click(AtText(NameListElement. _            GetElement().ToString()))        Next I
 
        CancelorderlogonButton().Click()
 
        ' Frame: ClassicsCD        ClassicsJavaFrame(ANY,MAY_EXIT).Close()        End Function
 
    End Class

In diesem Beispiel wird zunächst die Anwendung "Classics Java" aufgerufen. Anschließend werden in der Baumstruktur ein Komponist und ein Album (Komponist = Schubert, Album = "Die schone Muellerin") ausgewählt, und dann wird auf die Schaltfläche "Place Order" (Auftrag platzieren) geklickt. In der nächsten Anzeige (Dialog zur Memberanmeldung) wird vom Mustercode die Liste mit den Werten aus dem kombinierten Feld extrahiert. Anschließend werden die Werte, bevor auf jedes einzelne Listenelement geklickt wird, komplett im Konsolfenster angezeigt.

Der erste Schritt besteht darin, die Daten mit der Methode GetTestData aus der Steuerung zu extrahieren:

Dim NameList ITestDataList 
NameList = NameComboComboBox().GetTestData("list")

Möchten Sie sich darüber informieren, welche Datentypen für die Steuerung zur Verfügung stehen, verwenden Sie den folgenden Code:

Dim Ht As System.Collections.Hashtable Ht = _
   NameComboComboBox().GetTestDataTypes()

Mit diesem Datenbestand können Sie eine Feldgruppe mit allen Elementen der Liste erstellen. Gehen Sie dazu wie folgt vor:

Dim NameListElements As ITestDataElementList 
NameListElements = NameList.GetElements()

Mit den Listenelementen können Sie eine Schleife einrichten, über die auf jedes einzelne Element zugegriffen wird. Verwenden Sie die Methode GetElementCount, um die Anzahl der Listenelemente zu bestimmen. Die Methode GetElement dient dazu, die Werte der Listenelemente zu extrahieren. Im vorliegenden Beispiel wird dazu der folgende Code verwendet:

Dim ListElementCount As Integer
ListElemCount = NameList.GetElementCount()


Dim I As Integer For I = 0 To ListElemCount - 1  NameListElement = NameListElements.GetElement(I)  System.Console.WriteLine(NameListElement.GetElement(). _    ToString()) Next I

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