SWTBot - ждать MessageBox

1

В настоящее время я пишу тесты 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();
   }

Это окно сообщения, которое я жду:

Изображение 174551

Но я получаю следующее исключение, так как 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)

Любой, у кого есть решение для моей проблемы? Благодарю!

Теги:
messagebox
swt
swtbot

1 ответ

0
Лучший ответ

Хорошо, почему-то окно сообщения было создано с помощью собственного кода, и поэтому SWTBot не смог его найти!

  • 0
    Так что ты сделал с этим?
  • 0
    Я не знаю точного решения - я всего лишь тестировщик, и разработка самого программного обеспечения - это не мое дело. Я сказал разработчику, что у меня есть эта проблема, и я подозреваю, что окно сообщения является родным виджетом. Он создал обходной путь, который заставляет отображаться фиктивное окно сообщения SWT при запуске теста SWTBot на нем. Я точно не знаю, как это сделать, но это работоспособное решение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню