以下の例では、Classics Java™ アプリケーションに対するテストを行います。
import resources.GetListDataExampleHelper; 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 GetListDataExample extends GetListDataExampleHelper { /** * Script Name : GetListDataExample * Generated : May 16, 2006 9:06:46 AM * Description : Functional Tester Script * Original Host : WinNT Version 5.1 Build 2600 (S) * * @since 2006/05/16 * @author Administrator */ public void testMain(Object[] args) { startApp("ClassicsJavaA"); // Frame: ClassicsCD tree2().click(atPath("Composers->Schubert->Location(PLUS_MINUS)")); tree2().click(atPath("Composers->Schubert->Die schone Mullerin, Op. 25")); placeOrder().click(); //Declare variables for list ITestDataList nameList; ITestDataElementList nameListElements; ITestDataElement nameListElement; //Frame: Member Logon nameCombo().waitForExistence(); //Available test data types: {selected=Selected List Element, //list=List Elements} java.util.Hashtable ht = nameCombo().getTestDataTypes(); System.out.println(ht); //Get all elements nameList = (ITestDataList)nameCombo().getTestData("list"); nameListElements = nameList.getElements(); int listElemCount = nameList.getElementCount(); for (int i = 0; i < listElemCount; i++) { nameListElement = nameListElements.getElement(i); System.out.println(nameListElement.getElement()); // Click on each element nameCombo().click(); nameCombo().click(atText(nameListElement.getElement().toString())); }; cancel().click(); // Frame: ClassicsCD classicsJava(ANY,MAY_EXIT).close(); } }
この例では、まず Classics Java アプリケーションを開きます。ツリー中の作曲家およびアルバムを選択肢 (作曲家 = Schubert、アルバム = "Die Schone Muellerin")、「Place Order」 ボタンをクリックします。次の画面 (Member Login - ダイアログ) で、サンプル・コードが ComboBox から値のリストを抽出し、各リスト・エレメントでクリックできるようにコンソール・ウィンドウに表示します。
最初のステップは、getTestData メソッドを使用してコントロールからデータを抽出することです。
ITestDataList nameList; nameList = (ITestDataList)nameCombo().getTestData("list")
コントロールで使用可能なデータ型を見つけるため、以下のコードを使用します。
java.util.Hashtable ht = nameCombo().getTestDataTypes();
このデータ・セットが与えられると、リストのすべてのエレメントを含む配列を作成できます。これは以下のように行います。
ITestDataElementList nameListElements; nameListElements = nameList.getElements();
手持ちのリスト・エレメントにより、各リスト・エレメントにアクセスするループを作成できます。 リスト・エレメントの数を判別するには、getElementCount メソッドを使用します。 リスト・エレメントの値を抽出するには、getElement メソッドが使用されます。 この例でそれを実行するコードは、次のようになります。
int listElemCount = nameList.getElementCount(); for (int i = 0; i < listElemCount; i++) { nameListElement = nameListElements.getElement(i); System.out.println(nameListElement.getElement()); // Click on each element nameCombo().click(); nameCombo().click(atText(nameListElement.getElement().toString())); };