В настоящее время я пишу тесты 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)
Любой, у кого есть решение для моей проблемы? Благодарю!
Хорошо, почему-то окно сообщения было создано с помощью собственного кода, и поэтому SWTBot не смог его найти!