I am new to FEST based GUI Testing.
MyFrame is the root class for my application.
@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
}
When I run the test case,
@Test public void testGui()
{
String rs = frame2.label("hl").text().toString();
assertTrue(rs.equals("First"));
}
The above method doesn't print the actual string present in the label.
I think the FEST API is not waiting for the application to load.
Is there any methods available to postpone the GUI element lookup ?
Maybe you can use the pause method from org.fest.swing.timing.
Have a look here http://fest.easytesting.org/swing/apidocs/org/fest/swing/timing/Pause.html
this will pause your Code until your GUI has nothing left to update. The advantage to
Pause
is, that you do not have to wait longer than you need by passing a to large time interval.