2

SWTBotを使用してメニューを表示することは可能ですか?ビューメニューの例は、問題ビューの1つです(スクリーンショットを参照)。たとえば、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ループは何も表示せず、2番目のループは「表示メニュー」が見つからないというエラーを表示します。このメニューをナビゲートする方法がわかりませんか?

スクリーンショット

4

4 に答える 4

2

OPにはおそらく遅すぎますが、ここに行きます:

何らかの理由で、「問題」のようなビューをアクティブにする簡単な方法は機能しません。この回避策を使用できます。

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

ただし、これは最初の部分でのみ役立ちます。次の方法でツールバー ボタンにアクセスできるようになりました。

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

問題ビューの場合、これにより「アクティブなタスクにフォーカス」ボタンにアクセスできますが、コーナーの 3 つのボタン、「メニューの表示」、「最小化」、および「最大化」はこのリストに表示されません。残念ながら、今のところこれに対する解決策はありません。

[編集]

次のように表示メニューを表示できます。

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

しかし、後でアイテムを選択する方法がわかりません。他の誰かが知っているかもしれません...

于 2013-04-03T08:32:25.137 に答える
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 に答える