处理SWT的对话框,而使用了SWTBot在无头模式下运行测试
-
19-09-2019 - |
题
我正在上使用SWT构建我的Eclipse应用程序,JUnit测试案例。我使用了SWTBot做GUI测试。所以,这里是我的问题:
editor.bot().button("Make Excel Template").click();
此代码可以帮助我产生在我的应用程序的模板。一旦这样做,它作为一个消息“OK”抛出了一个模式对话框。但是,我不能得到了SWTBot找到这个按钮/插件/对话框。我不断收到一个 'WidgetNotFoundException'。
已经有人遇到过这个?该网站了SWTBot官方的内容说,对话框应在单独的非UI线程中运行。然而提供的实施例,也不是很丰富。
感谢您的帮助!
解决方案 2
@carstenlez - 您的解决方案非常适用于JFace的对话框。我的应用程序,但是,利用一个消息 - 这是一个本地对话框。了SWTBot不支持原生的对话,所以我几乎跳出选项。
其他提示
首先,你应该在非UI线程运行测试(如果尚未这样做)。 其次,你可以使用条件等待执行的行动,将带来高达对话框出现后您的模态对话框:
bot.waitUntil(Conditions.shellIsActive("This is the title of the modal dialog "));
bot.button("OK").click();
此解决我们的定时问题。
不隶属于 StackOverflow