2

是否可以使用 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 循环根本没有给出任何东西,而第二个循环给出了一个错误,即找不到“查看菜单”。我不知道如何浏览这个菜单?

截屏

4

4 回答 4

2

对于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();

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

于 2013-04-03T08:32:25.137 回答
1

尝试这个:

SWTBotView view = bot.viewByTitle("MyView");
    view.show();
    view.viewMenu().menu("MyContextOption").click();
于 2019-04-30T10:00:02.143 回答
0

问题来自这个菜单填充了动态条目的事实。SWTBot 不处理此类条目。请参阅ViewMenuFinder.getMenuItem()。处理了不同类型的IContributionItem,但在问题视图的情况下,这些项目的类型为DynamicMenuContributionItem

于 2013-05-16T16:34:33.397 回答
0

我认为您可以尝试:

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

对于 Project Explorer 视图,我可以使用 SWTBot 2.8.0 做同样的事情

于 2019-07-05T13:57:29.600 回答