從組合框/清單控制項擷取資料 (JComboBox)

您可以利用 Functional Tester 的 getTestData 方法來存取組合框/清單控制項的清單值。

下列範例測試 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");

// 頁框:ClassicsCD
tree2().click(atPath("Composers->Schubert->Location(PLUS_MINUS)"));
tree2().click(atPath("Composers->Schubert->Die schone Mullerin, Op. 25"));
placeOrder().click();

//宣告清單變數
ITestDataList nameList;
ITestDataElementList nameListElements;
ITestDataElement nameListElement;

// 頁框:成員登入
nameCombo().waitForExistence();

// 可用的測試資料類型:{selected=Selected List Element,
//list=List Elements}
java.util.Hashtable ht = nameCombo().getTestDataTypes();
System.out.println(ht);

// 取得所有元素
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());
	
// 按一下每一個元素
	nameCombo().click();
	nameCombo().click(atText(nameListElement.getElement().toString()));
	};
	
cancel().click();

// 頁框:ClassicsCD
classicsJava(ANY,MAY_EXIT).close();
}
}

這個範例首先開啟 Classics Java 應用程式。接著在樹狀和專輯中選取作曲家 (作曲家 = 舒伯特,專輯 = "Die Schone Muellerin"), 再按一下訂購按鈕。在下一個畫面中 (會員登入 - 對話框),範例程式碼從組合框擷取值清單,且在按一下每一個清單元素之前,顯示在主控台視窗中。

第一個步驟利用 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());
  
  // 按一下每一個元素
	nameCombo().click();
	nameCombo().click(atText(nameListElement.getElement().toString()));
};


意見
(C) Copyright IBM Corporation 2000, 2007. All Rights Reserved.