我正在使用FEST测试我的Java对话框,并且需要测试是否创建了新的模式对话框。
@Before
public void setUp() throws Exception {
TestFrame testFrame = GuiActionRunner.execute(new GuiQuery<TestFrame>() {
@Override
protected TestFrame executeInEDT() throws Throwable {
panel = new CustomPanel();
return new TestFrame(panel);
}
});
frameFixture = new FrameFixture(testFrame);
frameFixture.show();
frameFixture.robot.waitForIdle();
}
注意:TestFrame是一个帮助程序类,它扩展了JFrame以用于单元测试。
在测试中,我单击一个按钮,该按钮将显示一个模式对话框。我正在尝试查找并验证对话框是否已创建,但是我所有的尝试都找不到任何东西:
WindowFinder.findDialog("Window Title")).using(robot);
机器人=
我也尝试过指定机器人的查找范围:
robot.settings().componentLookupScope(ComponentLookupScope.ALL);
在线上有很多FEST示例可以调用
robot()
,但我无法确定此机器人功能应该是什么或应该是什么。为什么我找不到新创建的弹出对话框?
最佳答案
尝试添加查找时间:
WindowFinder.findDialog(MyDialog.class).withTimeout(10000).using(robot);
有关更多信息:http://fest.googlecode.com/svn-history/r458/trunk/fest/fest-swing/javadocs/org/fest/swing/fixture/util/WindowFinder.html