Im folgenden Beispiel werden Tests an der Java-Anwendung Classics durchgeführt:
#Region " Script Header " ' Functional Test Script ' author Administrator Imports Microsoft.VisualBasic Imports Rational.Test.Ft Imports Rational.Test.Ft.Object.Interfaces Imports Rational.Test.Ft.Object.Interfaces.SAP Imports Rational.Test.Ft.Object.Interfaces.Siebel Imports Rational.Test.Ft.Script Imports Rational.Test.Ft.Value Imports Rational.Test.Ft.Vp #End Region Public Class GetListDataExample Inherits GetListDataExampleHelper 'Script Name : GetListDataExample 'Generated : Jun 29, 2006 3:14:01 PM 'Description : Functional Test Script 'Original Host : Windows XP x86 5.1 build 2600 Service Pack 2 'since 2006/06/29 'author Administrator Public Function TestMain(ByVal args() As Object) StartApp("ClassicsJavaA") ' Frame: ClassicsCD Tree2().Click(AtPath("Composers->Schubert->Location(PLUS_MINUS)")) Tree2().Click(AtPath("Composers->Schubert->Die schone Mullerin, Op. 25")) PlaceOrder().Click() ' Declare variables for list Dim nameList As ITestDataList Dim nameListElements As ITestDataElementList Dim nameListElement As ITestDataElement ' Frame: Member Logon NameCombo().WaitForExistence() 'Available test data types: {selected=Selected List Element, ' list=List Elements} Dim Ht As System.Collections.Hashtable = NameCombo().GetTestDataTypes() System.Console.WriteLine(Ht) ' Get all elements Dim testdata As ITestData nameList = CType(NameCombo().GetTestData("list"), TestDataList) 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 NameCombo().Click() NameCombo().Click(AtText(nameListElement.GetElement().ToString())) Next I ' Frame: Member Logon Cancel().Click() ' Frame: ClassicsCD ClassicsJava(ANY,MAY_EXIT).Close() End Function End Class
In diesem Beispiel wird zuerst die Java-Anwendung Classics geöffnet. 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 Mitgliederanmeldung) extrahiert der Mustercode die Liste mit den Werten aus dem Kombinationsfeld und zeigt sie im Konsolfenster an. Danach wird auf jedes einzelne Listenelement geklickt.
Der erste Schritt besteht darin, die Daten mit der Methode GetTestData aus der Steuerung zu extrahieren:
Dim testdata As ITestData nameList = CType(NameCombo().GetTestData("list"), TestDataList)
Mit dem folgenden Code stellen Sie fest, welche Datentypen für ein Steuerelement zur Verfügung stehen:
Dim Ht As System.Collections.Hashtable = NameCombo().GetTestDataTypes() System.Console.WriteLine(Ht)
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()
Anhand der Listenelemente können Sie eine Schleife erstellen, die auf jedes Listenelement zugreift. Verwenden Sie die Methode GetElementCount, um die Anzahl der Listenelemente zu bestimmen. Die Methode GetElement dient dazu, die Werte der Listenelemente zu extrahieren. In diesem Beispiel wird dazu folgender Code verwendet:
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 NameCombo().Click() NameCombo().Click(AtText(nameListElement.GetElement().ToString())) Next I