テーブル内のセルの値の判別

Java™ または HTML テーブルで作業する際に、テーブルの指定されたセルの値を抽出する必要があるかもしれません。これを実行するにはさまざまな方法があります。1 つの簡単な方法は、テーブルを直接照会することです。

以下の例では、テーブルから情報を抽出するための Functional Test のオブジェクト・モデルを活用するカスタム Java コードの作成方法を示します。 サンプルでは、まず getTestData メソッドを使用して、Functional Tester がテーブル内のすべてのデータを含む TestDataTable オブジェクトを戻すようにします。 このデータ・テーブルが与えられると、GetRowCount および GetColumnCount メソッドはテーブルのサイズを判別します。 このコードは最後に、それらの数値を使用して、各セルを循環しながら getCell メソッドによりテーブル内の各セルの内容を判別します。セルの値は、コンソール・ウィンドウに表示されます。

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


フィードバック