我正在为Eclipse E4应用程序编写SWTBot测试用例。
通过setUp()(用@Before注释),我使用菜单打开部件。我想在tearDown中关闭它(用@After注释)。
我尝试使用SWTWorkbenchBot,获取活动视图并关闭它,但活动视图实例为null。视图实际上是视图和焦点。我可以看到它。
我试过的代码
SWTWorkbenchBot wbBot = new SWTWorkbenchBot();
SWTBotView botView = wbBot.activeView();
botView.close();
提前感谢您的帮助。
答案 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()
希望这有帮助。