在TestFX版本4中,我怎么能等到GUI的一个元素变得可见?

时间:2017-08-11 08:59:29

标签: javafx-2 matcher gui-testing testfx

我应该使用Matcher什么? visible()似乎已不再可用,很遗憾,我无法在org.hamcrest库中找到替代方案。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用Awaitility utility

这是一个实用程序方法的示例,默认情况下,在10毫秒后开始等待最多10秒:

public <T extends Node> T lookupById(final String controlId) {
    Awaitility
            .await()
            .pollDelay(10, TimeUnit.MILLISECONDS)
            .until(() -> robot.lookup(controlId).query() != null);

    return robot.lookup(controlId).query();
}

您可以实施任何等待条件,例如,检查其他可见性属性等。

负面情景的结果:

org.awaitility.core.ConditionTimeoutException: Condition with lambda expression in com.MyClass was not fulfilled within 10 seconds.