4

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")); 
      }

上記の方法では、ラベルに存在する実際の文字列は出力されません。

FESTAPIはアプリケーションのロードを待っていないと思います。

GUI要素のルックアップを延期するために利用できる方法はありますか?

4

2 に答える 2

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

これにより、GUIに更新するものがなくなるまで、コードが一時停止します。の利点Pauseは、長い時間間隔を渡すことにより、必要以上に長く待つ必要がないことです。

于 2012-08-29T19:39:52.617 に答える
3

org.fest.swing.timing の一時停止メソッドを使用できるかもしれません。

ここを見てください http://fest.easytesting.org/swing/apidocs/org/fest/swing/timing/Pause.html

于 2012-04-07T10:51:05.590 に答える