本文详细的描述了 Abbot SWT 插件的配置和使用,分析了 Abbot 的体系结构和工作原理,并给出复杂的测试用例来说明 Abbot SWT 的一些高级用法,同时还分享了作者的一些 Abbot 相关的最佳实践,相信会对从事 Eclipse 插件和 SWT 用户界面的开发和测试人员有一定的帮助。
引言
从 JDK 1.3 以来新增加的一个特性就是对图形用户界面自动化测试的支持,通过使用 Java.awt.Robot 类和相关的功能,程序员可以调用 JDK 的 API 可以直接实现用户界面的操作,常被用作用户界面的自动化测试,但是这些底层的 API 使用起来不是很方便,所以 JFCUnit 和 Jemmy 等测试工具都对 Java.awt.Robot 进行了包装,能够在 API 级别直接支持 AWT 和 Swing 的用户界面测试。但是到目前为止,它们尚不支持 SWT。SWT 作为 Eclipse 插件界面开发的首选,正日趋完善和流行,因此大量的程序员在开发 Eclipse 插件和 SWT 的用户界面时,往往需要千百次的点击鼠标去重复的测试图形用户界面,繁琐而且效率低下。
幸运的是,我们有 Abbot,一个可以自动化的测试 SWT 和 Eclipse 插件用户界面的测试框架。Abbot 是 sourceforge.net 站点上的一个优秀 Java GUI 测试框架,最初主要支持 AWT 和 Swing 的用户界面自动化测试,后来随着 SWT 的流行,就增加了对 SWT 的支持。为了与 Eclipse 更为紧密的集合,Abbot 目前已经以 Eclipse 插件的形式开发,Abbot 对 SWT 的支持是通过 Abbot SWT 插件来实现的。目前 abbot 的 SWT 插件尚未正式发布,我们将指引你从 CVS 上获取一个可用版本,目前的代码已经能够支持绝大多数的 SWT 和 JFace 构件的测试。笔者在一个项目中使用了数十个基于 Abbot 的 UI 测试用例,效果良好。实践证明,在 Eclipse RCP 和插件项目中,通过 Abbot 和 JUnit 的结合,构建用户界面的自动化测试用例,可以极大的减少测试人员重复的用户界面测试工作。
本文将带领读者走入 Abbot 的世界,学习使用这一有力的工具来增加我们插件开发的工作效率,在全面的介绍Abbot之前,我们先从一个简单的测试用例,感受一下 Abbot 的非凡魅力。
新手上路:开始一个简单的 Abbot SWT 测试
这一部分将介绍 Abbot SWT 插件的下载和配置,给出一个简单的测试用例使读者对 Abbot SWT 有个感性的认识,然后通过分析该测试用例来介绍 Abbot 的基本概念,使读者能够“观其大略”。本文所有的示例代码都在 Eclipse 3.2.1,JDK1.5 和 JUnit3.8.1 环境下通过测试,请读者先准备好开发环境。
Abbot plugin 测试环境配置
目前 Abbot SWT 的插件尚在开发过程中,没有可用的发行版本,我们将从 CVS 上获取源码。首先启动 Eclipse,指定一个新的空白的 WorkSpace,配置 Abbot 的 CVS 仓库,具体配置信息参见 图 1,使用匿名用户,无需输入密码即可。
文章来源于领测软件测试网 https://www.ltesting.net/