Repetindo por meio de Células da Tabela Utilizando o Método GetTestData

Este exemplo mostra como utilizar o método GetTestData do Teste Funcional para acessar os valores nas células de um controle de grade. O exemplo é 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 GetGridDataExample Inherits GetGridDataExampleHelper
 
    ' Script Name   : GetTreeDataExample
    ' Generated     : Dec 14, 2005 6:24:48 AM
    ' Description   : Teste Funcional Script
    ' since 2005/12/14
    ' author Administrator
 
    Public Function TestMain ByVal args() As Object)
        ' Desativar o Visualizador de Log neste exemplo
        SetOption(IOptionName.BRING_UP_LOGVIEWER, False)
 
        ' Iniciar o Aplicativo Classics Java
        StartApp("ClassicsJavaA")
 
        ' Navegar para a Grade de Pedidos Existente
        JmbMenuBar().WaitForExistence()
        JmbMenuBar().Click(AtPath("Order"))
        JmbMenuBar().Click(AtPath _
          ("Order->View Existing Order Status..."))
 
        ' Quadro: Visualizar Status do Pedido
        NameComboBComboBox().Click()
        NameComboBComboBox().Click(AtText("Claire Stratus"))
        Okstatuslogon2Button().Click()
 
        ' Aguardar a criação da tabela
        ExistingTableTable().WaitForExistence()
 
        ' Obter os dados para a tabela
        Dim OrderTable As ITestDataTable
       OrderTable = ExistingTableTable(). _
         GetTestData("contents")
 
        ' Exibir os tipos de dados disponíveis para a grade, total de linhas e
        ' colunas.
        System.Console.WriteLine("Available Data Types: " + _
         ExistingTableTable().GetTestDataTypes())
        System.Console.WriteLine("Total Rows in table : " + _
          OrderTable.GetRowCount())
        System.Console.WriteLine("Total Cols in table : " + _
          OrderTable.GetColumnCount())
 
        ' Percorrer todas as linhas
       Dim Row As Integer
       For Row = 0 To OrderTable.GetRowCount() - 1
         ' Percorrer todas as colunas
          Dim Col As Integer
          For Col = 0 To OrderTable.GetColumnCount() - 1
           ' Imprimir valores de células nas coordenadas (Row, Col)
           System.Console.WriteLine("Row " + Row + ", " + _
             OrderTable.GetColumnHeader(col) + ": " _
               + OrderTable.GetCell(Row, Col))
          Next Col
        Next Row
 
       ' Fechar o quadro
       CloseorderButton().Click()
 
       ' Encerrar o Aplicativo Classics Java
       ClassicsJavaFrame(ANY,MAY_EXIT).Close()
       End Function


 End Class

Esse exemplo navega para a tela "Visualizar Pedidos Existentes" do aplicativo. O código nessa amostra extrai os valores de todas as células da grade e os exibe na janela de console.

A primeira etapa para extrair os dados é utilizar o método GetTestData para extrair os dados do controle. Isso é feito com a seguinte sintaxe:

Dim OrderTable As ITestDataTable
OrderTable = ExistingTableTable().GetTestData("contents")

Com esse conjunto de dados, é possível determinar o número total de linhas e colunas utilizando os métodos GetRowCount e GetColumnCount. Também é possível perguntar ao controle quais tipos de dados estão disponíveis na tabela utilizando os GetTestDataTypes. O código a seguir envia os resultados dessas consultas para a janela de console.

System.Console.WriteLine("Available Data Types: " + _
        ExistingTableTable().GetTestDataTypes())
System.Console.WriteLine("Total Rows in table : " + _
        OrderTable.GetRowCount())
System.Console.WriteLine("Total Cols in table : " + _
        OrderTable.GetColumnCount())

A próxima etapa é imprimir os valores das células individuais, que é feito utilizando um loop for para percorrer as linhas e colunas da grade:

' Percorrer todas as linhas
Dim Row As Integer
For Row = 0 To OrderTable.GetRowCount() - 1
  ' Percorrer todas as colunas
  Dim Col As Integer
  For Col = 0 To OrderTable.GetColumnCount() - 1
    ' Imprimir valores de células nas coordenadas (Row, Col)
    System.Console.WriteLine ("Row " + Row + ", " + _
      OrderTable.GetColumnHeader(Col) + ": " _
        + OrderTable.GetCell(Row,Col) )
    Next Col
 Next Row

O script de exemplo utiliza o método GetCell para imprimir o valor da célula atual. Observe também que o método GetColumnHeader imprime o cabeçalho da coluna atual. Ao trabalhar com uma grade, a numeração para linhas e colunas inicia em 0. Isso não se aplica aos métodos GetRowCount e GetColumnCount onde a numeração inicia em 1.

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