繁体   English   中英

如何使用SWTBot导航视图菜单?

[英]How can I navigate the view menu using SWTBot?

是否可以使用SWTBot进入查看菜单? 视图菜单的一个示例是“问题”视图之一(请参见屏幕截图)。 例如,如何使用SWTBot将分组更改为“类型”? 我试过了:

for (final SWTBotViewMenu a : this.bot.viewById("org.eclipse.ui.views.ProblemView").menus()) {
        System.out.println(a.getText());
    }
this.bot.viewById("org.eclipse.ui.views.ProblemView").toolbarDropDownButton("View Menu").menuItem("Group By").menu("None").click();

for循环完全不提供任何内容,第二个循环给出错误,即找不到“查看菜单”。 我不知道如何浏览此菜单?

截图

对于OP来说可能为时已晚,但是这里有:

由于某种原因,激活“问题”之类的视图的直接方法不起作用。 您可以使用以下解决方法:

this.bot.menu("Window").menu("Show View").menu("Problems").click();
SWTBotView problemsView = bot.activeView();

不过,这只会对第一部分有所帮助。 现在,您可以通过以下方式访问工具栏按钮:

List<SWTBotToolbarButton> toolbarButtons = problemsView.getToolbarButtons();

对于“问题”视图,这使您可以访问“关注活动任务”按钮,但是角落中的三个按钮,“视图菜单”,“最小化”和“最大化”未出现在此列表中。 不幸的是,到目前为止,我还没有解决方案。

[编辑]

您可以像这样调出视图菜单:

this.bot.menu("Window").menu("Navigation").menu("Show View Menu").click();

但我不知道如何从中选择一个项目。 也许别人会知道...

问题出在以下事实:此菜单中充满了动态条目。 SWTBot不处理此类输入。 请参见ViewMenuFinder.getMenuItem() 处理了不同类型的IContributionItem ,但是在“问题视图”的情况下,项目的类型为DynamicMenuContributionItem

尝试这个:

SWTBotView view = bot.viewByTitle("MyView");
    view.show();
    view.viewMenu().menu("MyContextOption").click();

我认为您可以尝试:

theView.viewMenu().menu("Group By").menu("Type").click();

我可以使用SWTBot 2.8.0在Project Explorer视图中执行相同的操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM