簡體   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