我想调用我的应用程序中的上下文菜单。如何调用swtboot中的上下文菜单
问题是我没有在树中的任何项目。
我活跃我的看法,然后我想打开上下文菜单。
SWTBotView view = bot.viewByTitle("Project Explorer");
view.bot.tree().contextMenu("New").click();
然后我得到错误信息
能否请你告诉我我怎么能不树中的任何项目打开contextMeny?
我想调用我的应用程序中的上下文菜单。如何调用swtboot中的上下文菜单
问题是我没有在树中的任何项目。
我活跃我的看法,然后我想打开上下文菜单。
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;
}
}
根据您要达到的目标,您可以尝试通过文件菜单而不是上下文菜单。 “新”应该这样工作。
我需要从上下文菜单 – user2444677