我想在我的应用程序中调用上下文菜单。
我在树中没有任何项目的问题。
我激活了我的视图,然后我想打开上下文菜单。
SWTBotView view = bot.viewByTitle("Project Explorer");
view.bot.tree().contextMenu("New").click();
然后我收到错误消息
你可以告诉我如何在树中没有任何项目的情况下打开contextMeny吗?
答案 0 :(得分:0)
取决于您尝试实现的目标,您可以尝试通过文件菜单而不是上下文菜单。 "新"应该那样工作。
答案 1 :(得分:0)
因为没有直接的方法来做到这一点。我假设你有一个打开上下文菜单的快捷方式。
bot.activeShell().pressShortcut(<your shortcut>);
bot.waitUntil(new ContextMenuAppears(tree,
"New"));
tree.contextMenu("New").click();
ContextMenuAppears是一个等待显示所需上下文菜单的ICondition。
public class ContextMenuAppears implements ICondition {
private SWTBotTree swtBotTree;
private String mMenuText;
public TekstContextMenuAppears(SWTBotTree pSwtBotTree, String menuText) {
swtBotTree = pSwtBotTree;
mMenuText = menuText;
}
@Override
public boolean test() throws Exception {
try {
return swtBotTree.contextMenu(mMenuText).isVisible();
} catch (WidgetNotFoundException e) {
return false;
}
}
@Override
public void init(SWTBot bot) {
// TODO Auto-generated method stub
}
@Override
public String getFailureMessage() {
// TODO Auto-generated method stub
return null;
}
}