等待性,轮询直到满足条件

我正在尝试将等待性用于某些测试目的。

我尝试使用的这段代码给我带来了问题:

    await()
            .atLeast(Duration.ONE_HUNDRED_MILLISECONDS)
            .atMost(Duration.FIVE_SECONDS)
            .with()
            .pollInterval(Duration.ONE_HUNDRED_MILLISECONDS)
            .until(result.contains("banana"));

结果是一个字符串变量,我在代码的前面保存了一些远程系统输出。但是当我尝试像这样使用它时,出现以下错误:

“直到 ConditionFactory 中的 (java.util.concurrent.Callable) 无法应用于(布尔值)”

图书馆的正确使用方法是什么?在对获取的数据进行大量断言之前,我也想看看是否已成功从远程系统检索某些数据/文本字符串。


汪汪一只猫
浏览 70回答 2
2回答

呼唤远方

你需要给予直到可调用。IEawait().until(() -> result.contains("banana"));

慕田峪7331174

until需要一个返回布尔值(即 a )的函数Callable<Boolean>,而不仅仅是一个布尔值。result.contains("banana")是一个返回布尔值的方法调用。这意味着.until(result.contains("banana"))被评估为.until(false)或.until(true)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java