我正在探索使用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即可。弹出窗口将显示所需的信息。 –