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();
   }

这是我正在等待的消息框:

在此处输入图像描述

但由于 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)

任何人都可以解决我的问题?谢谢!

4

1 回答 1

0

好的,由于某种原因,消息框是由本机代码创建的,这就是 SWTBot 找不到它的原因!

于 2014-07-24T12:40:53.497 回答