SWTBot是一个用于SWT、基于Eclipse应用的GUI测试工具,提供了简化访问SWT和Eclipse组件的API,而且SWTBot可以运行在所有平台上运行的SWT。测试脚本可以通过Ant任务运行,因此你可以把测试集成到持续集成构建中。SWTBot基于Apache 2许可协议。
SWTBot可以用来模拟用户鼠标的点击行为,我们可以在程序中预先设定鼠标的点击顺序,之后SWTBot就会安装设定的顺序进行操作。SWTBot测试运行配置和JUnit非常相似,测试方法结构都差不多,实际上它继承自JUnit的方法,编写SWTBot的测试代码方式和JUnit一样。
SWTBot封装了访问SWT和Eclipse组件的方法,使用起来非常简单,比如,我们想在Eclipse的包导航器中删除一个项目,可以通过下面这种方式进行:
SWTEclipseBot bot = new SWTEclipseBot();
SWTBotView view = bot.view("Package Explorer");
SWTBotTree tree = new SWTBotTree((Tree) bot.widget(widgetOfType(Tree.class), view.getWidget()));
tree.setFocus();
tree.select(projectName);
bot.menu("Edit").menu("Delete").click();
这样SWTBot执行上面的代码就会触发删除工程的操作,会弹出删除对话框,这时候,我们也可以通过SWTBot获得当前弹出的确认删除对话框,对这个对话框进行判断,选择对应的操作,假如我们的Eclipse是使用3.3版本的:
SWTBotShell shell = bot.shell("Confirm Project Delete");
shell.activate();
Button button = (Button) bot.widget(widgetOfType(Button.class), shell.widget);
new SWTBotRadio(button).click();
bot.button("Yes").click();
bot.waitUntil(Conditions.shellCloses(shell));
对于Eclipse 3.4,删除的确认对话框和Eclipse3.3不一样,我们可以通过下面这段代码实现:
SWTBotShell shell = bot.shell("Delete Resources");
shell.activate();
Button button = (Button) bot.widget(widgetOfType(Button.class), shell.widget);
new SWTBotCheckBox(button).select();
bot.button("OK").click();
bot.waitUntil(Conditions.shellCloses(shell));
这样的话就可以删除那个项目了。如果想得到对应的视图,可以通过new SWTEclipseBot().view(视图名称)获得,想获得名称为“OK”的对话框可以通过new SWTEclipseBot().botton("OK")得到,是不是挺简单的,不过我试用了下,我想在Eclipse的包视图中启动RCP项目的话好像不行,因为SWTBot是先启动Eclipse然后在调用SWTBot的测试方法,直接就跳过了RCP的启动,不知道这是不是一个Bug?,很奇怪,或许是我操作的方式不对。
以前SWTBot是挂在 SourceForge.net下面的,在过去一年SWTBot发展的很好,所以SWTBot已经移到了Eclipse.org下面。主页的地址是: http://www.eclipse.org/swtbot/
分享到:
相关推荐
swtbot eclipse插件 测试界面
方案示例-swtbot-e4 结合使用场景和SWTBot来测试和记录Eclipse RCP e4示例应用程序的示例UI测试和Scenarioo集成可在plugins/org.scenarioo.example.e4.test/src/org/scenarioo/example/e4文件夹中找到。构建并运行...
在Java世界,GUI测试从来都是一个痛,SWTBOT从某种程度上可以帮助自动化GUI的测试,当然了,是否适用于你的项目还需要看具体情况分析。这篇文章对如果使用SWTBOT自动测试GUI有比较深入浅出的介绍
SWTBot是用于SWT / RCP应用程序的自动化和测试工具,具有记录和回放脚本的功能。 功能将包括基于文本的脚本,对测试套件的回放,报告和多线程回放的ant支持。
在Eclipse环境下建立swtbot的Web应用测试环境,并对具体的Web应用进行测试,详细描述测试过程. ... ---------------- 非原创,来源于互联网
SWTBot本身是一种轻量级,易用的工具,能够很好的实现对于SWT和Eclipse产品的自动化测试。但是由于SWTBot目前尚处于孵化阶段,对于如何将其成功应用到实际项目当中论述很少。 当前来说,对于基于SWT和Eclipse的应用...
SWTBot对Eclipse的SWT UI画面测自动化测试及例子
SWTBot自动化测试学习软件
swtbotw例子,swtbotw例子,swtbotw例子
SWTBot收集
swtbot简介、体系结构、如何安装、示例详解、架构、自定义部件等
swtbot学习资料,是swtbot官方的资料入门手册
脚步: 克隆项目: git clone https://github.com/codenvy/eclipse-plugin.git执行以下命令: cd eclipse-plugin mvn clean install警告:它将使用 SWTBot 启动 UI 集成测试,注意不要在这些测试运行时抢占焦点以...
swtbot运行原理
How to develop, build, test, package, and release Eclipse plug-ins with features for Eclipse 3.x and Eclipse 4.x Overview Create plug-ins to extend the Eclipse runtime covering Eclipse 3.x and the ...
NULL 博文链接:https://mwhgjava.iteye.com/blog/2257771
基于SWT和eclipse的开发越来越多,于是GUI的测试也越发显得重要,SWVBOT工具就是为了方便GUI的测试而出的新一个测试工具。。。 提供资源共大家学习
pdi-ui-test 基于SWTBot的用于Pentaho数据集成的UI测试的集合