<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>4.0.3</version>
<scope>test</scope>
</dependency>
groovy
testCompile 'org.awaitility:awaitility:4.0.3'
import org.awaitility.Awaitility;
import java.util.concurrent.TimeUnit;
Awaitility.await().until(() -> condition);
Awaitility.await().atMost(10, TimeUnit.SECONDS).until(() -> condition);
Awaitility.await().pollInterval(1, TimeUnit.SECONDS).until(() -> condition);
Awaitility.await().timeout(10, TimeUnit.SECONDS).until(() -> condition);
Awaitility.await().untilCallTo(() -> method()).isEqualTo(expectedValue);