Extraindo Dados de um Controle ComboBox/List

Este tópico descreve como utilizar o método GetTestData do Functional Test para acessar os valores na lista de um controle ComboBox/List. O exemplo a seguir é testado no aplicativo Classics Java:

Imports Rational.Test.Ft
Imports Rational.Test.Ft.Object.Interfaces
Imports Rational.Test.Ft.Script
Imports Rational.Test.Ft.Value
Imports Rational.Test.Ft.Vp


Public Class GetListDataExample Inherits GetListDataExampleHelper
    ' Script Name   : GetListDataExample    ' Generated     : Dec 31, 2005 1:15:35 PM    ' Modified      : Dec 31, 2005 1:15:35 PM    ' Description   : Teste Funcional Script
    ' since 2005/12/31    ' author Administrator
  Public Function TestMain (ByVal args() As Object)        StartApp("ClassicsJavaA")
       ' Quadro: ClassicsCD        Tree2Tree().Click(AtPath _          ("Composers->Schubert->Location(PLUS_MINUS)"))        Tree2Tree().Click(AtPath _          ("Composers->Schubert->Die schone Mullerin, Op. 25"))        PlaceOrderButton2Button().Click()         ' Declarar variáveis para lista        Dim NameList As ITestDataList        Dim NameListElements As ITestDataElementList        Dim NameListElement As ITestDataElement
 
        ' Quadro: Logon do Membro        NameComboComboBox().WaitForExistence()
 
        'Tipos de dados de teste disponíveis: {selected=Selected List Element,        ' list=List Elements}        Dim Ht As System.Collections.Hashtable = _          NameComboComboBox().GetTestDataTypes()        System.Console.WriteLine(Ht)
 
        ' Obter todos os elementos        NameList = NameComboComboBox().GetTestData("list")
 
        NameListElements = NameList.GetElements()
 
        Dim ListElemCount As Integer        ListElemCount = NameList.GetElementCount()
 
        Dim I As Integer        For I = 0 To ListElemCount - 1          NameListElement = NameListElements.GetElement(I)          System.Console.WriteLine(NameListElement.GetElement(). _            ToString())
 
          ' Clicar em cada elemento          NameComboComboBox().Click()          NameComboComboBox().Click(AtText(NameListElement. _            GetElement().ToString()))        Next I
 
        CancelorderlogonButton().Click()
 
        ' Quadro: ClassicsCD        ClassicsJavaFrame(ANY,MAY_EXIT).Close()        End Function
 
    End Class

Esse exemplo abre primeiro o aplicativo Classics Java. Ele seleciona um compositor na árvore e um álbum (compositor = 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:

Dim NameList ITestDataList 
NameList = NameComboComboBox().GetTestData("list")

Para descobrir quais tipos de dados estão disponíveis para um controle, utilize o seguinte código:

Dim Ht As System.Collections.Hashtable Ht = _
   NameComboComboBox().GetTestDataTypes()

Este conjunto de dados permite criar uma matriz que contém todos os elementos da lista. Isso é feito da seguinte forma:

Dim NameListElements As ITestDataElementList 
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:

Dim ListElementCount As Integer
ListElemCount = NameList.GetElementCount()


Dim I As Integer For I = 0 To ListElemCount - 1  NameListElement = NameListElements.GetElement(I)  System.Console.WriteLine(NameListElement.GetElement(). _    ToString()) Next I

Termos de uso | Feedback
(C) Copyright IBM Corporation 2002, 2004. Todos os Direitos Reservados.