Заставить FEST ждать загрузки приложения

Я новичок в тестировании GUI на основе FEST.

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?

2 ответа

Может быть, вы можете использовать метод паузы из org.fest.swing.timing.

Посмотрите здесь http://fest.easytesting.org/swing/apidocs/org/fest/swing/timing/Pause.html

//do your clicks
fixture.robot.waitForIdle();//give the GUI time to update
//do your asserts

это приостановит ваш код до тех пор, пока вашему графическому интерфейсу не останется ничего обновить. Преимущество для Pause является то, что вам не нужно ждать дольше, чем нужно, передав большой интервал времени.

Другие вопросы по тегам