快速业务通道

使用SWTBot为您的eclipse应用创建自动化GUI测试用例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

使用SWTBot为您的eclipse应用创建自动化GUI测试用例

时间:2011-08-26 IBM 杨晓峰 仇璐

简介:基于 eclipse 的应用非常广泛,当然也就带来了对其进行 GUI 自动化 测试的需要。SWTBot 提供了比较完善的 SWT 和 eclipse 富客户端应用(RCP) 的测试功能,本文详细的介绍了 SWT 的设计结构和一些特性,并通过一个实例来 说明,如何为您的 eclipse 应用创建和执行基于 SWTBot 的测试用例。

SWTBot 是一个年轻的开源项目,致力于简化 SWT 和基于 eclipse 的富客户 端应用的 GUI 测试,平台独立,功能强大。该项目已经被接纳到 eclipse.org 基金会,虽然目前尚处于孵化阶段,但已经成功地应用于很多产品的测试了。本 文详细地介绍了如何配置开发环境,并通过实例、类图等分析了 SWTBot 的设计 和实现结构。

配置基本的开发环境

本文所使用的开发环境是 Eclipse 3.5 的用于 RCP/Plug-in 开发的套件,您 可以通过在线更新直接安装最新版本的 SWTBot 插件。

依次选择 eclipse 菜单项“Help-> Install New Software …”,在弹出 的窗口中添加更新站点,如图 1 所示,目前的站点地址是 http://download.eclipse.org/technology/swtbot/galileo/dev-build/update -site/

图 1. 添加更新站点

使用SWTBot为您的eclipse应用创建自动化GUI测试用例(2)

时间:2011-08-26 IBM 杨晓峰 仇璐

在可行的插件列表中,如图 2,分别包括 SWTBot SWT 测试工具、eclipse 测 试工具和 GEF 测试工具,在本文撰写阶段,GEF 功能还没有真正地集成进来。选 择您希望安装的插件,并点击“Finish”进行安装。

图 2. 安装插件

如果您希望获取 SWTBot 的源代码,可以通过 SVN 或者 Git 获取。

经过上面的步骤,开发环境就已经搭建好了,您是不是有些迫不及待地要尝试 下 SWTBot 的功能了,我们首先从一个简单的测试用例开始吧。

创建您的第一个 SWTBot 测试用例

简单起见,我们就模拟一个为 eclipse 添加更新站点的过程,具体步骤如前 文所描述的安装 SWTBot 插件的过程。

1. 创建测试工程

首先,您需要创建一个 eclipse 插件工程,把 SWTBot 相关的插件添加到依 赖关系中,详细信息请参考图 3

图 3. 插件依赖关系

使用SWTBot为您的eclipse应用创建自动化GUI测试用例(3)

时间:2011-08-26 IBM 杨晓峰 仇璐

2. 新建测试用例

新建一个 Junit 4.x 测试用例,将下面的代码添加到您的用例中。因为不能 重复添加站点,为了能够重复执行,例子在最后阶段选择了取消操作。

清单 1. 测试代码

package myswtbot.test;   import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;   import org.eclipse.swtbot.swt.finder.SWTBotAssert;   import  org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;   import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;   import org.junit.AfterClass;   import org.junit.BeforeClass;   import org.junit.Test;   import org.junit.runner.RunWith;   /**   * My first SWTBot test case which stimulate a  scenario   * of adding updating site for the eclipse.   * The update site is for SWT development tools.   *   */   @RunWith(SWTBotJunit4ClassRunner.class)   public class AddUpdateSiteTest {    private static SWTWorkbenchBot bot;    @BeforeClass    public static void setUpBeforeClass() throws Exception  {     bot = new SWTWorkbenchBot();     bot.viewByTitle("Welcome").close();    }    @Test   

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号