From ac277fdc8a660904a47425f46156e3c2a3f64dbc Mon Sep 17 00:00:00 2001 From: Sandeep Kumar Date: Sat, 22 Oct 2016 10:51:53 +0530 Subject: [PATCH] Handling Optional as per orElseThrow criteria --- .../java/com/baeldung/selenium/SeleniumExample.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java b/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java index 1007bf7503..ce60a1f638 100644 --- a/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java +++ b/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java @@ -1,6 +1,7 @@ package main.java.com.baeldung.selenium; import java.util.List; +import java.util.NoSuchElementException; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; @@ -28,16 +29,16 @@ public class SeleniumExample { return webDriver.getTitle(); } - public void getAboutBaeldungPage() { + public void getAboutBaeldungPage() throws Exception { closeOverlay(); clickAboutLink(); clickAboutUsLink(); } - private void closeOverlay() { + private void closeOverlay() throws Exception { List webElementList = webDriver.findElements(By.tagName("a")); - if (webElementList != null && !webElementList.isEmpty()) { - webElementList.stream().filter(webElement -> "Close".equalsIgnoreCase(webElement.getAttribute("title"))).findAny().get().click(); + if (webElementList != null && !webElementList.isEmpty() && webElementList.stream().filter(webElement -> "Close".equalsIgnoreCase(webElement.getAttribute("title"))).findAny().isPresent()) { + webElementList.stream().filter(webElement -> "Close".equalsIgnoreCase(webElement.getAttribute("title"))).findAny().orElseThrow(NoSuchElementException::new).click(); } } @@ -50,8 +51,6 @@ public class SeleniumExample { } public boolean isAuthorInformationAvailable() { - return webDriver - .findElement(By.xpath("//*[contains(text(), 'Eugen – an engineer')]")) - .isDisplayed(); + return webDriver.findElement(By.xpath("//*[contains(text(), 'Eugen – an engineer')]")).isDisplayed(); } }