快速业务通道

使用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号