O exemplo a seguir testa em relação ao aplicativo 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"); // Quadro: ClassicsCDtree2().click(atPath("Composers->Schubert->Location(PLUS_MINUS)")); tree2().click(atPath("Composers->Schubert->Die schone Mullerin, Op. 25")); placeOrder().click(); //Declarar variáveis para listaITestDataList nameList;ITestDataElementList nameListElements;ITestDataElement nameListElement; // Quadro: Logon do MembronameCombo().waitForExistence(); // Tipos de dados de teste disponíveis: {selected=Selected List Element, //list=List Elements} java.util.Hashtable ht = nameCombo().getTestDataTypes(); System.out.println(ht); // Obter todos os elementosnameList = (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()); // Clicar em cada elemento nameCombo().click(); nameCombo().click(atText(nameListElement.getElement().toString())); }; cancel().click(); // Quadro: ClassicsCDclassicsJava(ANY,MAY_EXIT).close(); } }
Esse exemplo abre primeiro o aplicativo Classics Java. Ele seleciona um criador na árvore e um álbum (criador = Schubert, álbum = "Die Schone Muellerin") e clica no botão Fazer Pedido. Na tela seguinte (Login do Membro - diálogo), o código de amostra extrai a lista de valores da ComboBox e os exibe na janela de console antes de clicar em cada elemento da lista.
A primeira etapa é extrair os dados do controle utilizando o método getTestData:
ITestDataList nameList;nameList = (ITestDataList)nameCombo().getTestData("list")
Para descobrir quais tipos de dados estão disponíveis para um controle, utilize o seguinte código:
java.util.Hashtable ht = nameCombo().getTestDataTypes();
Este datapool permite criar uma matriz que contém todos os elementos da lista. Isso é feito da seguinte forma:
ITestDataElementList nameListElements;nameListElements = nameList.getElements();
Com os elementos da lista em mãos, você pode criar um loop que acessa cada elemento da lista. Para determinar o número de elementos da lista, utilize o método getElementCount. Para extrair o valor do elemento da lista, utiliza-se o método getElement. No exemplo, isso é feito com o seguinte código:
int listElemCount = nameList.getElementCount(); for (int i = 0; i < listElemCount; i++) { nameListElement = nameListElements.getElement(i); System.out.println(nameListElement.getElement()); // Clicar em cada elemento nameCombo().click(); nameCombo().click(atText(nameListElement.getElement().toString())); };