我目前正在编写SWTBot测试,我遇到了一个问题,我需要等到操作完成后,Info-MessageBox会告诉我完成情况。
这就是我目前尝试这样做的方式:
public void generateCode() {
SWTBotTree projectExplorerTree = bot.viewByTitle("Project Explorer").bot().tree();
projectExplorerTree.getTreeItem(name).contextMenu("Generate Code").click();
bot.waitUntil(Conditions.shellIsActive("Info"), 20000);
bot.button(IDialogConstants.OK_LABEL).click();
}
这是我正在等待的消息框:
但是我得到以下异常,因为SWTBot无法识别消息框:
org.eclipse.swtbot.swt.finder.widgets.TimeoutException: Timeout after: 20000 ms.: The shell 'Info' did not activate
at org.eclipse.swtbot.swt.finder.SWTBotFactory.waitUntil(SWTBotFactory.java:412)
at org.eclipse.swtbot.swt.finder.SWTBotFactory.waitUntil(SWTBotFactory.java:386)
任何有问题解决方案的人?谢谢!
答案 0 :(得分:0)
好的,由于某种原因,消息框是由本机代码创建的,这就是为什么SWTBot无法找到它!