让 FEST 等待应用程序加载
我是基于 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
也许您可以使用 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
这将暂停您的代码,直到您的 GUI 没有任何可更新的内容为止。
Pause
的优点是,您不必通过过大的时间间隔来等待比您需要的时间更长的时间。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.