Extraindo Dados de um Controle Combobox/List (JComboBox)

Você pode utilizar o método getTestData do Functional Tester para acessar os valores na lista de um controle ComboBox/List.

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()));
};

Feedback