I am trying to implement the Java Lambda concept to wait for selenium webdriver. I need to convert a custom webdriver, expecting something like this
(new WebDriverWait(driver(), 5)) .until(new ExpectedCondition<WebElement>() { public WebElement apply(WebDriver d) { return d.findElement(By.linkText("")); } });
to
(new WebDriverWait(driver(), 5)).until((driver) -> driver.findElement(By.linkText("")));
But it does not coincide with the functional interface "before" and refers to an error.
So, I tried to pass the Lambda when it supports.
Attempt1
Predicate<WebDriver> isVisible = (dr) -> dr.findElement( By.linkText("")).isDisplayed(); webDriverWait.until(isVisible);
This works, but not what I require, because it only returns void.
You need your help or advice.
java lambda selenium-webdriver
Vish shady
source share