让 FEST 等待应用程序加载

发布于 2024-12-26 11:50:33 字数 721 浏览 2 评论 0原文

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

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 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鹿港小镇 2025-01-02 11:50:33

也许您可以使用 org.fest.swing.timing 中的暂停方法。

看看这里 http://fest.easytesting.org /swing/apidocs/org/fest/swing/timing/Pause.html

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

仙女 2025-01-02 11:50:33
//do your clicks
fixture.robot.waitForIdle();//give the GUI time to update
//do your asserts

这将暂停您的代码,直到您的 GUI 没有任何可更新的内容为止。 Pause 的优点是,您不必通过过大的时间间隔来等待比您需要的时间更长的时间。

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文