如何等待,直到使用TestFX可见元素?

问题描述:

我想从TestFX使用waitUntil()方法等到屏幕上出现一个对话框。我发现Wiki提供的示例,但它似乎不适用于我。任何人都可以帮我弄清楚这一点吗?如何等待,直到使用TestFX可见元素?

我设法通过来解决此问题:

import org.hamcrest.Matchers; 
import org.loadui.testfx.controls.impl.VisibleNodesMatcher; 

waitUntil(".dialog-pane", Matchers.is(VisibleNodesMatcher.visible())); 
+0

您还可以在秒内传递超时参数: waitUntil(“。dialog-pane”,Matchers.is(VisibleNodesMatcher.visible()),10); –

您可以使用此方法也:

import org.testfx.util.WaitForAsyncUtils; 

WaitForAsyncUtils.waitFor(10, TimeUnit.SECONDS, new Callable<Boolean>() { 
    @Override 
    public Boolean call() throws Exception { 
     return find(".dialog-pane").isVisible(); 
    } 
}); 

有了这个解决方案,您还可以定义TIMEUNIT。