我正在使用SWT构建的eclipse应用程序上运行Junit测试用例。我正在使用SWTBot进行GUI测试。所以,这是我的问题:
editor.bot().button("Make Excel Template").click();
此代码可帮助我在应用程序中生成模板。完成后,它会以“确定”作为消息抛出模态对话框。但是,我无法让SWTBot找到这个按钮/小部件/对话框。我一直收到'WidgetNotFoundException'。
有人碰到过这个吗? SWTBot网站上的官方内容说,对话框应该在单独的非UI线程中运行。但是,提供的示例信息量不大。
感谢您的帮助!
答案 0 :(得分:0)
首先,您应该在非UI线程中运行测试(如果尚未执行此操作)。 其次,在执行将启动对话框的操作后,您可以使用条件等待模态对话框出现:
bot.waitUntil(Conditions.shellIsActive("This is the title of the modal dialog "));
bot.button("OK").click();
这解决了我们的时间问题。
答案 1 :(得分:0)
@carstenlez - 您的解决方案适用于JFace对话框。但是,我的应用程序正在使用MessageBox - 这是一个本机对话框。 SWTBot不支持原生对话框,所以我几乎没有选择。