Cette rubrique décrit comment utiliser la méthode getTestData
de l'API Functional Tester
pour accéder aux valeurs de la liste implémentée par un contrôle
ComboBox/List. L'application testée est l'exemple d'application Java fourni avec le produit, ClassicsCD (ClassicsJavaA) :
import resources.GetListDataExampleHelper;
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 GetListDataExample extends GetListDataExampleHelper
{
/**
* Script Name : <b>GetListDataExample</b>
* Generated : <b>Dec 31, 2002 1:15:35 PM</b>
* Modified : <b>Dec 31, 2002 1:15:35 PM</b>
* Description : Functional Test Script
* Original Host : WinNT Version 5.0 Build 2195 (Service Pack 2)
*
* @since 2002/12/31
* @author Administrator
*/
public void testMain (Object[] args)
{
startApp("ClassicsJavaA");
// Fenêtre : ClassicsCD
tree2Tree().click(atPath("Composers->Schubert->Location(PLUS_MINUS)"));
tree2Tree().click(atPath("Composers->Schubert->Die schone Mullerin, Op. 25"));
placeOrderButton2Button().click();
//Déclarer des variables pour la liste
ITestDataList nameList;
ITestDataElementList nameListElements;
ITestDataElement nameListElement;
// Fenêtre : Member Logon
nameComboComboBox().waitForExistence();
// Types de données pouvant être testée : {selected=Elément de liste sélectionné, list=Eléments de liste}
java.util.Hashtable ht = nameComboComboBox().getTestDataTypes();
System.out.println(ht);
// Obtenir tous les éléments
nameList = (ITestDataList)nameComboComboBox().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());
// Cliquer sur chaque élément
nameComboComboBox().click();
nameComboComboBox().click(atText(nameListElement.getElement().toString()));
};
cancelorderlogonButton().click();
// Fenêtre : ClassicsCD
ClassicsJavaFrame(ANY,MAY_EXIT).close();
}
}
Cet exemple de script ouvre d'abord l'application Java ClassicsCD. Il sélectionne un compositeur dans l'arborescence, puis un album (compositeur = Schubert, album = "Die Schone Muellerin"), puis il clique sur le bouton "Place Order". Sur l'écran suivant (boîte de dialogue Member Logon), le code extrait la liste des valeurs du contrôle ComboBox et les affiche dans la console avant de cliquer sur chaque élément de la liste.
La première étape consiste à extraire les données du contrôle en utilisant
la méthode getTestData
:
ITestDataList nameList;
nameList =(ITestDataList)nameComboComboBox().getTestData("list");
Pour déterminer quels types de données du contrôle sont accessibles au test, on utilise le code suivant :
java.util.Hashtable ht = nameComboComboBox().getTestDataTypes();
Disposant de ce jeu de données, on peut créer un tableau (array) contenant tous les éléments de la liste. Cette opération est réalisée comme suit :
ITestDataElementList nameListElements;
nameListElements = nameList.getElements();
Disposant des éléments de la liste, on peut créer une boucle accédant
à chacun d'eux. Pour déterminer le nombre d'éléments de la liste, on a recours à la
méthode getElementCount
. Pour extraire la valeur de chaque élément de la liste,
on utilise la méthode getElement
.
La syntaxe suivante est utilisée à cet effet :
int listElemCount = nameList.getElementCount();
for (int i = 0; i < listElemCount; i++)
{
nameListElement = nameListElements.getElement(i);
System.out.println(nameListElement.getElement());
};
Conditions d'utilisation | Appréciations en retour
(C) Copyright IBM Corporation 2002, 2004. All Rights Reserved.