Determinación de valores de celdas en una tabla

Cuando trabaje con Java o tablas HTML, es posible que desee extraer el valor de una celda en concreto de la tabla. Existen varias formas de hacerlo, pero la más sencilla es consultar directamente la tabla.

El ejemplo muestra cómo crear un códigoJava personalizado que aproveche el modelo de objeto de Functional Test para extraer la información de una tabla. La muestra primero utiliza el método getTestData para que Functional Tester devuelva un objeto TestDataTable que contenga todos los datos de una tabla. Con esta tabla en concreto, los métodos getRowCount y getColumnCount determinan el tamaño de dicha tabla. Finalmente, con estos números, el código recorre cada celda y utiliza el método getCell para determinar el contenido de cada celda de la tabla. Los valores de las celdas se visualizan en la ventana de la consola.

import resources.TableTestHelper;

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 TableTest extends TableTestHelper
{
	/**
	 * Script Name   : TableTest
	 * Generated     : Jul 17, 2006 1:56:28 PM
	 * Description   : Functional Test Script
	 * Original Host : WinNT Version 5.1  Build 2600 (S)
	 * 
	 * @since  2006/07/17
	 * @author Administrator
	 */
	public void testMain(Object[] args) 
	{
startApp("ClassicsJavaA");
		
		// Frame: ClassicsCD
		jmb().click(atPath("Order"));
		jmb().click(atPath("Order->View Existing Order Status..."));
		
		// Frame: View Order Status
		nameComboB().click();
		nameComboB().click(atText("Claire Stratus"));
		ok().click();
		
		// Frame: View Existing Orders
		existingTable().click(atCell(atRow("ORDER ID", "7", "ORDER DATE", "3/11/98", "STATUS", "Order Initiated"), atColumn("ORDER ID")), atPoint(33,2));

		//	Query object to find out what kind of data it has.
		  System.out.println (existingTable().getTestDataTypes());
		  
		  //Declare variable for table.
		  ITestDataTable myTable;
		  myTable = (ITestDataTable)existingTable().getTestData("contents");
		  
		  //Print out total rows & columns.
		  System.out.println ("Total Rows: " + myTable.getRowCount());
		  System.out.println ("Total Cols: " + myTable.getColumnCount());
		  
		  //Print out cell values.
		  for (int row =0;row < myTable.getRowCount();row++)
		  {
		      for (int col = 0;col < myTable.getColumnCount();col++)
		      {
		          System.out.println("Value at cell (" + row+ "," + col+")is: " + myTable.getCell(row,col));
		      }
		  }

		close().drag();
		
		// Frame: ClassicsCD
		classicsJava(ANY,MAY_EXIT).close();
	}
}


Comentarios