El siguiente ejemplo es una prueba contra la aplicación Classics Java:
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 schone 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(); } }
Este ejemplo, primero obre la aplicación Classics Java. Seleccione un compositor en el árbol y un álbum (compositor = Schubert, álbum = "Die Schone Muellerin") y pulsa el botón Realizar pedido. En la siguiente pantalla (Inicio de sesión - diálogo), el código de ejemplo extrae la lista de valores del recuadro combinado y los muestra en la ventana de la consola antes de pulsar cada elemento de la lista.
El primer paso es extraer datos desde el control, utilizando el método getTestData:
ITestDataList nameList; nameList = (ITestDataList)nameCombo().getTestData("list")
Para saber qué tipos de datos están disponibles para un control, utilice el siguiente código:
java.util.Hashtable ht = nameCombo().getTestDataTypes();
En este conjunto de datos concreto, puede crear una matriz que contenga todos los elementos de la lista. Esto se efectúa de la siguiente manera:
ITestDataElementList nameListElements; nameListElements = nameList.getElements();
Con los elementos de lista en cuestión, puede crear un bucle que acceda a cada elemento de la lista. Para determinar el número de elementos de lista, utilice el método getElementCount. Para extraer el valor del elemento de lista se utiliza el método getElement. En el ejemplo se efectúa con el siguiente código:
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())); };