使用 Rational Functional Tester 测试定制的 Java 控件

本文探讨了如何利用IBM Rational Functional Tester的getProperty和invoke方法来应对定制Java控件带来的GUI自动化测试挑战。针对非标准控件,如Lotus Notes中的Editor applet,文章详细介绍了如何直接从控件获取信息进行自动化测试。

 定制的Java 控件(或者没有包含于标准 Java 库中的控件)正在挑战 GUI 自动化测试过程。本文解释了如何通过 IBM Rational Functional Tester 所提供的两种方法使用这些控件类,用以创建自动化的处理过程: getProperty 和 invoke。
IBM® Rational® Functional Tester 提供了标准接口,便于操作标准 Java™ 控件。例如,在 Rational TextGuiTestObject 接口中,您可以很方便的使用getText 和 setText 方法获取/设置Swing文本框。另一方面,任何GUI自动化工具都很难实现非标准的或定制控件的自动化,包括 Rational Functional Tester。 定制控件 并不存在于标准部件之中(例如,AWT 或 Swing),但它们是应用程序开发者不断积累所创造的。 Rational Functional Tester 开发者并不知道这些控件,不能预料到您所需要的方法,因而他们不可能提供包含所有方法的接口。为了测试这些接口,您需要直接从控件本身获取控件如何工作的信息。幸运的是, Rational Functional Tester为我们提供了一条途径,那就是使用 getProperty 和 invoke方法。

Java applet 就是一个定制控件的实例,如图 1所示。 这是 Lotus Notes中包含的 Editor applet 。

这个 applet 显示了用户输入富文本(可设置文本为粗体、斜体、文本颜色等等)的区域。用户通过使用顶部 applet 的按钮和列表框控制文本的显示。 这些按钮并不是标准控件。就是说,它们不属于 Swing 或 AWT 按钮,而属于 Lotus的开发者。它们的包和类名,com.lotus.app.MultiImageButton,表现出了这一点。很明显,这个包中的类不是一种标准控件,因此 Rational Functional Tester 不能提供包含您需要的一切接口。

但是,即使这些按钮不是标准控件,Rational Functional Tester 仍然可以使用最普遍的类来识别它们,即 GuiTestObject。但在大部分情况下,这样做还不能满足要求。问题在于,对比直接提供的 GuiTestObject 类,您需要更多有关控件的信息,更多操作它们的方法。例如,虽然 GuiTestObject提供了点击按钮的方法,但是它没有提供获取按钮名称(例如,用来区别粗体按钮和斜体按钮)的方法 getText ,而且它没有提供 isSelected 方法以确定是否某个特殊按钮已被选择。但这些正是彻底测试 applet 所必需的信息。因此,您不得不使用 Rational Functional Tester 的 getProperty 和 invoke 方法直接从控件中获取信息。

本文为您展示了如何使用 Rational Functional Tester 测试定制的Java控件。本文中我们主要使用 Lotus 创建的 Editor applet 实例,但您可以将此原则应用于任何定制的 Java 类中,无论其是否嵌入 Web 页面内。
。。。。。。

                          点击此处查看详情

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值