Eclipse:如何在SWTBot中关闭Eclipse E4部件

时间:2015-02-17 07:54:14

标签: java eclipse swt e4 swtbot

我正在为Eclipse E4应用程序编写SWTBot测试用例。

通过setUp()(用@Before注释),我使用菜单打开部件。我想在tearDown中关闭它(用@After注释)。

我尝试使用SWTWorkbenchBot,获取活动视图并关闭它,但活动视图实例为null。视图实际上是视图和焦点。我可以看到它。

我试过的代码

SWTWorkbenchBot wbBot = new SWTWorkbenchBot();
SWTBotView botView = wbBot.activeView();
botView.close();

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我建议在UI启动之前在setUp()方法中创建SWTWorkbenchBot引用。这应该主要解决你的问题。 在进行此更改后,您可以尝试使用WidgetMatcherFactory

workBenchBot.widget(org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType( <View_Name>.class ) );

替换为您的视图名称。它应该返回类型为View_Name的实例。然后,您应该使用您的视图(SWTBOTView)创建View_Name的实例并致电SWTBOTView#close()

希望这有帮助。