我想在我的应用程序中调用上下文菜单。
我在树中没有任何项目的问题。
我激活了我的视图,然后我想打开上下文菜单。
SWTBotView view = bot.viewByTitle("Project Explorer");
view.bot.tree().contextMenu("New").click();
然后我收到错误消息
你能告诉我如何在树中没有任何项目的情况下打开 contextMeny 吗?
我想在我的应用程序中调用上下文菜单。
我在树中没有任何项目的问题。
我激活了我的视图,然后我想打开上下文菜单。
SWTBotView view = bot.viewByTitle("Project Explorer");
view.bot.tree().contextMenu("New").click();
然后我收到错误消息
你能告诉我如何在树中没有任何项目的情况下打开 contextMeny 吗?
根据您要实现的目标,您可以尝试通过文件菜单而不是上下文菜单。“新”应该这样工作。
因为没有直接的方法可以做到这一点。我假设您有打开上下文菜单的快捷方式。
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;
}
}