代码之家  ›  专栏  ›  技术社区  ›  Ethon

SWTBot-等待MessageBox

  •  1
  • Ethon  · 技术社区  · 10 年前

    我目前正在编写SWTBot测试,我遇到了一个问题,那就是我需要等待一个操作完成,并且一个InfoMessageBox会通知我完成。

    这是我目前尝试的方式:

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

    这是我等待的消息框:

    enter image description here

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

    有人能解决我的问题吗?谢谢

    1 回复  |  直到 10 年前
        1
  •  0
  •   Ethon    10 年前

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