我是基于FEST的GUI测试的新手。
MyFrame是我的应用程序的根类。
@Before
public void onSetUp() {
MyFrame frame = GuiActionRunner.execute(new GuiQuery<MyFrame>() {
protected MyFrame executeInEDT() {
return new MyFrame();
}
});
frame2 = new FrameFixture(robot(), frame);
frame2.show(); // shows the frame to test
}
当我运行测试用例时,
@Test public void testGui()
{
String rs = frame2.label("hl").text().toString();
assertTrue(rs.equals("First"));
}
上述方法不会打印标签中的实际字符串。
我认为FEST API不会等待应用程序加载。
是否有任何方法可以推迟GUI元素查找?
答案 0 :(得分:4)
//do your clicks
fixture.robot.waitForIdle();//give the GUI time to update
//do your asserts
这将暂停您的代码,直到您的GUI没有任何内容可以更新。 Pause
的优势在于,您不必通过传递大的时间间隔等待所需的时间。
答案 1 :(得分:3)
也许你可以使用org.fest.swing.timing中的pause方法。
在这里查看http://fest.easytesting.org/swing/apidocs/org/fest/swing/timing/Pause.html