1

我正在使用 SWT 构建的 Eclipse 应用程序上运行 Junit 测试用例。我正在使用 SWTBot 进行 GUI 测试。所以,这是我的问题:

editor.bot().button("Make Excel Template").click();

此代码帮助我在我的应用程序中生成模板。完成后,它会弹出一个带有“OK”作为消息的模态对话框。但是,我无法让 SWTBot 找到此按钮/小部件/对话框。我不断收到“WidgetNotFoundException”。

有人遇到过这个吗?SWTBot 网站上的官方内容说对话框应该在单独的非 UI 线程中运行。但是,提供的示例信息量不是很大。

感谢你的帮助!

4

2 回答 2

0

首先,您应该在非 UI 线程中运行测试(如果尚未这样做)。其次,您可以使用条件等待您的模态对话框在执行将弹出对话框的操作后出现:

bot.waitUntil(Conditions.shellIsActive("This is the title of the modal dialog "));
bot.button("OK").click();

这解决了我们的时间问题。

于 2009-12-17T12:52:30.963 回答
0

@carstenlez - 您的解决方案适用于 JFace 对话框。但是,我的应用程序正在使用 MessageBox - 这是一个本机对话框。SWTBot 不支持本机对话框,所以我几乎没有选择。

于 2009-12-18T07:51:37.627 回答