Werte von Zellen in einer Tabelle ermitteln

Wenn Sie mit Java- oder HTML-Tabellen arbeiten, können Sie den Wert einer bestimmten Tabellenzelle extrahieren. Dazu können Sie auf unterschiedliche Weise vorgehen. Eine einfache Methode besteht darin, die Tabelle direkt abzufragen.

Das folgende Beispiel zeigt, wie Sie angepassten Java-Code erstellen, der Daten anhand des Functional Test-Objektmodells aus einer HTML-Tabelle extrahiert. In diesem Beispiel wird Functional Tester zunächst mit der Methode getTestData angewiesen, ein TestDataTable-Objekt zurückzugeben, das alle Daten der Tabelle enthält. Anhand dieser Datentabelle wird anschließend mit Hilfe der Methoden getRowCount und getColumnCount die Größe der Tabelle bestimmt. Schließlich werden anhand dieser Zahlen die einzelnen Zellen abgefragt, und mit Hilfe der Methode getCell wird der Inhalt der einzelnen Tabellenzellen ermittelt. Die Werte in den Zellen werden im Konsolfenster angezeigt.

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


Feedback