JDK1.8 と Lambda 式に関する記事を読んだ後、私がここ数年使用してきた ExpectedCondition ブロックは、おそらく Lambda 式として表現するのに適していることに気付きました。
この待機オブジェクトが与えられた場合:
Wait<WebDriver> wait = new FluentWait<WebDriver>( driver )
.withTimeout(30, SECONDS)
.pollingEvery(5, SECONDS)
.ignoring( NoSuchElementException.class );
Selenium のこの ExpectedCondition 式を Lambda 式に変換する方法を誰か教えてもらえますか?
WebElement foo = wait.until( new ExpectedCondition<Boolean>() {
public WebElement apply( WebDriver webDriver ) {
return webDriver.findElement( By.id("foo") );
}
} );