我正在探索使用SWTWorkbenchBot來在我的基於eclipse的項目自動化中使用。但是,嘗試獲取「控制檯」視圖時,看起來很奇怪。SWTWorkbenchBot無法找到「控制檯」視圖
SWTWorkbenchBot workbenchBot = new SWTWorkbenchBot();
String consoleTitle = "Console";
try {
workbenchBot.viewByTitle(consoleTitle).show();
System.out.println("Got the Console view");
} catch (Exception e) {
for (SWTBotView view : workbenchBot.views()) {
System.out.println(view.getTitle() + "\t" + v.getTitle().equals(consoleTitle));
}
}
從上面的代碼中,我假定的以下2種情況之一成立:
- 要麼代碼將與「得到控制檯視圖」
- 消息打印或消息「GOT退出控制檯視圖「消息未打印,因爲未找到」控制檯「視圖,並且引發了
WidgetNotFoundException
類型的異常,並且將執行catch
中的代碼。輸出不應該包含標題「控制檯」或至少在所有視圖標題旁邊應打印false
。
令人驚訝的是,這沒有發生。消息「獲得控制檯視圖」未打印,但如果查看視圖列表,則會看到存在一行控制檯真實這意味着SWTWorkbenchBot無法使用方法.viewByTitle()
獲取控制檯視圖,但是他知道通過檢查.views()
內容存在。
上述代碼適用於任何視圖,但控制檯視圖除外。我在這裏做錯了什麼?提前致謝。
有沒有視圖\ controls \內置ID的任何參考?你在哪裏找到「org.eclipse.ui.console.ConsoleView」? –
您可以使用稱爲「Plugin-Spy」的便利工具。舉個例子,view-id只需在Eclipse IDE中打開視圖,然後按下Shift + Alt + F1即可。彈出窗口將顯示所需的信息。 –