使用 Rational Functional Tester 测试定制的 Java 控件
2007-06-04 13:54
736 查看
定制的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 页面内。
。。。。。。
点击此处查看详情
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 页面内。
。。。。。。
点击此处查看详情
相关文章推荐
- 使用 IBM Rational Functional Tester 7.0.1 测试 Flex 应用程序
- Rational Functional Tester Proxy SDK 开发,第 3 部分: 使用 Proxy SDK 扩展 Java GUI 组件可捕获的验证数据
- 使用Rational Functional Tester实现动态的校验点测试
- 使用 IBM Rational Functional Tester测试 Windows 应用程序: 如何构建结构良好的测试框架
- 使用 IBM Rational Functional Tester 8.2.1 自动化 Flex Spark 测试
- Rational Functional Tester Proxy SDK 开发,第 2 部分: 使用 Proxy SDK 扩展 RFT 已支持 Java GUI 组件 Proxy 对象实现
- 使用 Rational Functional Tester 测试应用软件的操作响应速度
- 使用RFT的getProperty和invoke方法测试定制的Java控件
- 使用RFT的getProperty和invoke方法测试定制的Java控件(2)
- testng+maven+java+idea 接口测试入门五:使用ireporter定制自己的报告格式
- RationalFunctionalTester实践: 测试脚本的录制
- 通过扩展 Rational Functional Tester 对 Adobe Flex 或 Flash 应用程序进行测试
- 定制用于数据驱动测试的 Rational Functional Tester 脚本
- 使用 Rational Functional Tester 自动化 WebSphere Message Broker Toolkit 操作
- 使用 XPath 在 Rational Functional Tester 中动态识别对象
- Hello World,第 5 部分:Rational Functional Tester:创建健壮和可重用的自动功能测试
- 在 Rational Functional Tester 测试脚本中实现对时间的控制
- 使用 IBM Rational Tester for SOA Quality 在 Web 服务测试中添加元素和验证点 developerWorks
- Rational Functional Tester Proxy SDK 开发,第 4 部分: 使用 Proxy SDK 新建 Proxy 对象扩展 Windows 组件 Proxy 对象
- 使用 IBM Rational Functional Tester: 了解和使用 TestObject.find 方法