快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
  public void testAddUpdateSite() throws Exception {     bot.menu("Help").menu("Install New Software...").click ();     SWTBotShell shell = bot.shell("Install");     shell.activate();     bot.button("Add...").click();     //find the new shell widget by its name     SWTBotShell shell1 = bot.shell("Add Site");     shell1.activate();     bot.textWithLabel("Name:").setText("SWT development  tools");     bot.textWithLabel("Location:").   setText("http://www.eclipse.org/swt/updates/3.5");     //verify button status     SWTBotAssert.assertEnabled(bot.button("OK"));     //Cancel it, in order to execute again and  again     bot.button("Cancel").click();     bot.button("Cancel").click();    }    @AfterClass    public static void tearDownAfterClass() throws  Exception {    bot.sleep(5000);   }   }

您可能已经注意到,本文给出的测试用例,单独指定了 Classloader。SWTBot 的测试用例基于 Junit 4 测试框架,但是不同于 PDE-Junit 测试用例,它需要 利用 SWTBotJunit4ClassRunner 来执行,因为普通的 PDE-Junit 测试用例与被 测试的界面运行在同一个线程,而 SWTBot 测试用例发送给被测界面的一些事件 是阻塞的,如果运行在同一线程会导致测试用例停滞。

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

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

3. 执行测试用例

选中要执行的测试用例,选择 eclipse 的主菜单“Run ->Run Configuration”,操作步骤可能根据您选用的 eclipse 版本会有区别。选择执 行的应用,具体您可以参考图片 4。

图 4. 运行配置

万事俱备,开始执行用例吧。您可以看到,一个 eclipse 应用被启动起来, 然后 SWTBot 模拟了如何添加更新站点的工程,并且对一些用户关注的测试点, 例如,按钮状态,文本信息等进行了验证。从这个用例我们对 SWTBot 有一个简 单的印象,它采用了 eclipse 插件工程的结构,并采用 Junit4 框架和 eclipse 本身的运行机制,我们将会在下面的章节继续探讨它的更多细节。

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

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

SWT 的结构和特性

首先了解一下 SWTBot 的组成,目前 SWTBot 主要包括 3 个部分,分别适用 于 SWT 测试、Eclipse 测试和 GEF 应用测试。SWT 部分可以看作是测试框架的 基础,提供了 SWT 控件的代理类、查找器、匹配器等。Eclipse 部分提供了对 Perspective/view 等 eclipse 特性的支持,但是实现的结构是基本一致的,您 在开发用例时可以采用同样的编码思路。

SWTBot 基本结构

下面的图 5,说明了 SWTBot 的基本结构,类 SWTBot 提供了各种方法以获取 目标控件的代理类 (Widgets),出于简单考虑,这里仅列出了部分查找器 (Finder)和匹配器(Matcher)实现,查找器按照一定条件来定位目标控件,而 匹配器则是支持了强大的表达式功能,如果您深入查看各种匹配器的实现细节, 就会发现它利用了 Hamcrest 匹配库,有兴趣的话您可以在到 google code上获 取项目细节。

图 5. SWTBot 基本结构类图

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

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

更多细节

几乎全部(目前的版本还有部分未实现的)SWT 控件(Widget),在 SWTBo

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