Как я могу перемещаться по меню просмотра с помощью 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

Другие вопросы по тегам