Mit Hilfe der Methode getTestData von Functional Tester kann auf die Werte in der Liste eines Kombinationsfeld/Listenfeld-Steuerelements zugegriffen werden.
Im folgenden Beispiel werden Tests an der Java-Anwendung Classics durchgeführt:
import resources.GetListDataExampleHelper; 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 GetListDataExample extends GetListDataExampleHelper { /** * Script Name : GetListDataExample * Generated : May 16, 2006 9:06:46 AM * Description : Functional Tester Script * Original Host : WinNT Version 5.1 Build 2600 (S) * * @since 2006/05/16 * @author Administrator */ public void testMain (Object[] args) { startApp("ClassicsJavaA"); // Frame: ClassicsCD tree2().click(atPath("Composers->Schubert->Location(PLUS_MINUS)")); tree2().click(atPath("Composers->Schubert->Die schoene Mullerin, Op. 25")); placeOrder().click(); //Declare variables for list ITestDataList nameList; ITestDataElementList nameListElements; ITestDataElement nameListElement; // Frame: Member Logon nameCombo().waitForExistence(); // Available test data types: {selected=Selected List Element, //list=List Elements} java.util.Hashtable ht = nameCombo().getTestDataTypes(); System.out.println(ht); // Get all elements nameList = (ITestDataList)nameCombo().getTestData("list"); nameListElements = nameList.getElements(); int listElemCount = nameList.getElementCount(); for (int i = 0; i < listElemCount; i++) { nameListElement = nameListElements.getElement(i); System.out.println(nameListElement.getElement()); // Click on each element nameCombo().click(); nameCombo().click(atText(nameListElement.getElement().toString())); }; cancel().click(); // Frame: ClassicsCD classicsJava(ANY,MAY_EXIT).close(); } }
In diesem Beispiel wird zuerst die Java-Anwendung Classics geöffnet. Dann werden ein Komponist und ein Album in der Baumstruktur ausgewählt (composer = Schubert, album = "Die Schoene Muellerin"), und die Schaltfläche Place Order (Auftrag platzieren) wird betätigt. 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 im Extrahieren der Daten aus dem Steuerelement mit der Methode getTestData:
ITestDataList nameList; nameList = (ITestDataList)nameCombo().getTestData("list")
Mit dem folgenden Code stellen Sie fest, welche Datentypen für ein Steuerelement zur Verfügung stehen:
java.util.Hashtable ht = nameCombo().getTestDataTypes();
Mit diesem Datenbestand können Sie eine Feldgruppe mit allen Elementen der Liste erstellen. Gehen Sie dazu wie folgt vor:
ITestDataElementList nameListElements; nameListElements = nameList.getElements();
Anhand der Listenelemente können Sie eine Schleife erstellen, die auf jedes Listenelement zugreift. Zur Ermittlung der Anzahl der Listenelemente verwenden Sie die Methode getElementCount. Zum Extrahieren des Werts des Listenelements verwenden Sie die Methode getElement. In diesem Beispiel wird dazu folgender Code verwendet:
int listElemCount = nameList.getElementCount(); for (int i = 0; i < listElemCount; i++) { nameListElement = nameListElements.getElement(i); System.out.println(nameListElement.getElement()); // Click on each element nameCombo().click(); nameCombo().click(atText(nameListElement.getElement().toString())); };