• 软件测试技术
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘

字号: | 推荐给好友 上一篇 | 下一篇

使用 IBM Rational Functional Tester: 了解和使用 TestObject.find 方法

发布: 2008-7-03 10:45 | 作者: 黄腾龙 | 来源: IBM | 查看: 200次 | 进入软件测试论坛讨论

领测软件测试网 软件测试技术门户]!SYs/M\7LA

k_ Fc&`;x.q8T&v)t您现在的对象地图(Object Map)中应该有一个 javax.swing.JFrame 对象。选择 JFrame 控件,以便您可以看到对话框的 Recognition 属性。对于此控件,标签或文本是定义该控件的最重要的两个属性。第二重要的属性是控件的类,因为可能会显示出许多 JFrame 对象,但是可能只有一个的标签为 Place an Order。继续以下步骤:软件测试技术门户o!t[-jJ7e]*uh$\D

  1. 展卡层次结构,找到按钮标签。
  2. 选择 Cancel 按钮,以便您可以分析 RFT 用来在对象地图(Object Map)中描述按钮的 Recognition 属性。这里列出了四个属性,其中两个对定义正确的按钮是至关重要的:class 和 accessibleContext.accessibleName 属性(参见图 2)。

{(pS1Cg/PQ3RJ:J图 2. 使用 ClassicsJavaA 应用程序的对象地图(Object Map)的实例软件测试技术门户 n4l_@]/Y
使用 ClassicsJavaA 应用程序的对象地图(Object Map)的实例 软件测试技术门户W8z#f'fXTRz\
  1. 找到正确的按钮。许多对话框中包含一个 Cancel 按钮,所以您首先需要找到包含正确的 Cancel 按钮的对话框 TestObject。如果您首先找到了正确的对话框,那么找到对话框中正确的按钮就更容易了。
  2. 回到您的空测试脚本中。因为对话框是高级对象,所以您可以通过定义 RootTestObject 来开始 TestObject 搜索。当您做完这些后,您就可以使用 find 方法来定位对话框 TestObject:
RootTestObject root = getRootTestObject(); 软件测试技术门户;T.{#h,G*n"_]G p}

您已准备好使用 find 方法来定位 Place an Order 对话框,利用窗口的类信息。软件测试技术门户7M7m%f|$TX*Us)k

hY[yks注意:确保打印出您找到的所有 TestObject 的属性,这样您可以检查它们。软件测试技术门户#O6G Mh sf&T

U\l'CmB*`jD[-u您的命令应类似以下内容:

l.S)KK @Jnz'@.nJ
	// get all test objects of type JFrame (dialog)    TestObject[] to = root.         find(atDescendant("class", "javax.swing.JFrame"));    // print dialog test object properties to console    for (int i = 0; i < to.length; i++)       { System.out.println (to[i].getProperties()); }	 
软件测试技术门户7B C L_.o4gkw

+K,b'u]2s$Q结果显示应该类似以下内容(除去了大部分属性,为了节省空间):软件测试技术门户 tF-TJ_mj

	{height=600, displayable=true, undecorated=false, ..., 	class=javax.swing.JFrame, title=Place an Order, …}	

'@gJ,Vm_2Yy_]'p 软件测试技术门户1R)a3B(f9_4w

接下来,使用 find 方法代替上面的代码,利用对话框中该窗口的标签文本来定位 Place an Order 对话框:软件测试技术门户i1D%N v;}._6Q(a_W

	// get all test objects that have the title "Place an Order"    TestObject[] to = root.       find(atDescendant("title", "Place an Order"));        // print test object properties to console    for (int i = 0; i < to.length; i++) {       System.out.println(to[i].getProperties());       }       
软件测试技术门户Kb Z