快速业务通道

调试和测试Swing代码 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
区域是一个 JTextPane。但在您的技术生涯中,你很可能会遇到写得 很差的 GUI 代码,非常难以理解。当这种情况发生时,您可以选择花费大量时 间破译代码,也可以选择寻找一种可提供有效帮助的工具。

Swing Explorer 简介

Swing Explorer 允许您可视地检查 Swing GUIs 的内部结构。其简单直观的 UI 使我们更易于:发现 GUI 中的所有组件,调查其绘制方式,检查任意时间的 属性,等等。

Swing Explorer 可同时作为独立应用程序和插件在 Eclipse 和 NetBeans 中使用。建议通过 IDE 插件使用它。在本文中,我将使用 Eclipse 插件。

安装插件之后,我使用 Swing Explorer 启动了 HTML 编辑器主类,如图 2 所示:

图 2. Swing Explorer 中启动的编辑器应用程序

Swing Explorer 提供多个视图帮助您查明 Swing GUI 的内部构造:

显示组件层次结构的一个树视图

调试和测试Swing代码(3)

时间:2011-06-11 IBM Alex Ruiz

检查中的 GUI

一个选项卡面板,显示选中组件(名称、大小等)的属性,且包含其他有用 、有趣的工具

使用 Swing Explorer 了解 GUI 的构造很简单。出于本练习的需要,假定您 不能通过阅读源码查明在 HTML 编辑器中用作文本区域的组件的类型。通过 Swing Explorer,您仅需选择组件树视图上的文本区域或单击 GUI 中显示的组 件本身。在下面的图 3 中,Swing Explorer 确认文本区域是一个 JTextPane:

图 3. 显示选中组件属性的 Swing Explorer

了解和测试应用程序行为

一旦确定要测试的 GUI 的结构,下一步就要了解应用程序的行为,这样才能 知道要验证的期望值是哪些。这可以通过不同的方式完成:会见当前终端用户, 阅读应用程序文档(如果有的话)或仅仅使用应用程序本身。

一开始我要选择两个用例进行测试:

打开一个 HTML 文件

改变文档字体的颜色

现在我准备开始编写功能 GUI 测试了。

功能 GUI 测试验证应用程序是否按预期运行。它专注于应用程序的行为,而 非 GUI 的外观。以下因素是创建强健的功能 GUI 测试所必不可少的:

能够模拟用户输入(键盘和鼠标)

拥有用于查找 GUI 组件的可靠机制

能够容许组件位置或布局的变化

空想:直接使用 Robot

要确保一个自动化测试能真正模拟用户输入,您需要生成操作系统级的 “原 生” 事件,就像用户在使用键盘和鼠标一样。JDK 自 1.3 版本以来通过 Abstract Window Toolkit (AWT) Robot 为输入模拟提供支持。不过 Robot 仅 对屏幕坐标有效,而对 Swing 组件参考无效,因此直接使用它会使测试很脆弱 ,这意味着任何布局变化都会中止测试。

而且 AWT Robot 级别太低;它只知道如何单击鼠标按钮和按键。您需要编写 能翻译高级动作的代码,比如选择该组合框中的第三个元素 放入 Robot 动作中 。根据测试所需的动作数量和相关组件的不同类型,这需要大量工作。另外, AWT Robot 不为组件查询(比如查找带有文本 “OK” 的按钮)提供可靠机制。 您还是需要自己编写代码。

总而言之,直接使用 AWT Robot 需要大量精力和时间。当编写功能 GUI 测 试时,您需要将注意力放在要查证的行为上,而不是放在使 GUI 测试成为可能 的底层管道上。

调试和测试Swing代码(4)

时间:2011-06-11 IBM Alex Ruiz

FEST-Swing 简介

FEST(Fixtures for Easy Software Testing)Swing 模块是能够轻松创建 和维护强健的功能 GUI 测试的一个库。它的主要特性包括:

建立于 AWT Robot 之上,用于模拟真实的用户输入。

有一个紧凑、直观、可读的连贯接口,能简化功能 GUI 测试的创建和维护。 清单 1 显示了如何编码实现高级动作:在 firstName 文本字段中输入 “luke ” 文本然后单击 “ok” 按钮。

清单 1. FEST-Swing 的连贯接口

d

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号