精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-17
SWTBot是一个用于SWT、基于Eclipse应用的GUI测试工具,提供了简化访问SWT和Eclipse组件的API,而且SWTBot可以运行在所有平台上运行的SWT。测试脚本可以通过Ant任务运行,因此你可以把测试集成到持续集成构建中。SWTBot基于Apache 2许可协议。
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/ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 3005 次