2012-01-10 110 views
4

我是基於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元素查找?

+0

看我的答案在這裏http://stackoverflow.com/questions/8957334/making-fests-component-lookup-mechanism-wait-for-a-component-to-exist/11738497#11738497 – Whimusical 2012-07-31 11:05:27

回答

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

這個一看就會暫停您的代碼,直到你的GUI有沒有什麼可以更新。 Pause的優勢在於,您不必等待較長的時間間隔就可以等待更長的時間。