Как я могу перемещаться по меню просмотра с помощью 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 вообще ничего не дает, а второй выдает ошибку, что "View Menu" не может быть найдено. Я понятия не имею, как перемещаться по этому меню?
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();
но я не знаю, как выбрать предмет из него потом. Может кто еще узнает...
Попробуй это:
SWTBotView view = bot.viewByTitle("MyView");
view.show();
view.viewMenu().menu("MyContextOption").click();
Проблема заключается в том, что это меню заполнено динамическими записями. SWTBot не обрабатывает такого рода записи. Смотрите ViewMenuFinder.getMenuItem (). Различные виды IContributionItem обрабатываются, но в случае представления проблем элементы имеют тип DynamicMenuContributionItem.
Я думаю, что вы можете попробовать с:
theView.viewMenu().menu("Group By").menu("Type").click();
Я могу сделать то же самое с SWTBot 2.8.0 для представления Project Explorer