以下示例针对 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”),然后单击下订单按钮。在下一个屏幕(“成员登录”对话框)中,样本代码会从“组合框”中抽取值的列表,并在单击各列表元素前在控制台窗口中对这些值进行显示。
第一步是通过使用 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()));
};