Example usage for org.openqa.selenium.support.ui ExpectedConditions presenceOfElementLocated

List of usage examples for org.openqa.selenium.support.ui ExpectedConditions presenceOfElementLocated

Introduction

In this page you can find the example usage for org.openqa.selenium.support.ui ExpectedConditions presenceOfElementLocated.

Prototype

public static ExpectedCondition<WebElement> presenceOfElementLocated(final By locator) 

Source Link

Document

An expectation for checking that an element is present on the DOM of a page.

Usage

From source file:org.callimachusproject.webdriver.helpers.WebBrowserDriver.java

License:Apache License

public void waitUntilElementPresent(final By locator) {
    waitForScript();/*  w w  w . j a  v  a2 s  .c  om*/
    new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(locator));
}

From source file:org.cerberus.service.appium.impl.AppiumService.java

License:Open Source License

private WebElement getElement(Session session, Identifier identifier, boolean visible, boolean clickable) {
    AppiumDriver driver = session.getAppiumDriver();
    By locator = this.getBy(identifier);

    LOG.debug("Waiting for Element : " + identifier.getIdentifier() + "=" + identifier.getLocator());
    try {/*from   w ww.  j  a va  2s . c om*/
        WebDriverWait wait = new WebDriverWait(driver,
                TimeUnit.MILLISECONDS.toSeconds(session.getCerberus_appium_wait_element()));
        if (visible) {
            if (clickable) {
                wait.until(ExpectedConditions.elementToBeClickable(locator));
            } else {
                wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
            }
        } else {
            wait.until(ExpectedConditions.presenceOfElementLocated(locator));
        }
    } catch (TimeoutException exception) {
        LOG.fatal("Exception waiting for element :" + exception.toString());
        throw new NoSuchElementException(identifier.getIdentifier() + "=" + identifier.getLocator());
    }
    LOG.debug("Finding Element : " + identifier.getIdentifier() + "=" + identifier.getLocator());
    return driver.findElement(locator);
}

From source file:org.cerberus.service.engine.impl.AppiumService.java

License:Open Source License

private WebElement getElement(Session session, Identifier identifier, boolean visible, boolean clickable) {
    AppiumDriver driver = session.getAppiumDriver();
    By locator = this.getBy(identifier);

    MyLogger.log(RunTestCaseService.class.getName(), Level.DEBUG,
            "Waiting for Element : " + identifier.getIdentifier() + "=" + identifier.getLocator());
    try {//from   w w w .  j a  v a 2s . co m
        WebDriverWait wait = new WebDriverWait(driver, session.getDefaultWait());
        if (visible) {
            if (clickable) {
                wait.until(ExpectedConditions.elementToBeClickable(locator));
            } else {
                wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
            }
        } else {
            wait.until(ExpectedConditions.presenceOfElementLocated(locator));
        }
    } catch (TimeoutException exception) {
        MyLogger.log(RunTestCaseService.class.getName(), Level.FATAL,
                "Exception waiting for element :" + exception);
        throw new NoSuchElementException(identifier.getIdentifier() + "=" + identifier.getLocator());
    }
    MyLogger.log(RunTestCaseService.class.getName(), Level.DEBUG,
            "Finding Element : " + identifier.getIdentifier() + "=" + identifier.getLocator());
    return driver.findElement(locator);
}

From source file:org.cerberus.service.engine.impl.WebDriverService.java

License:Open Source License

private AnswerItem<WebElement> getSeleniumElement(Session session, Identifier identifier, boolean visible,
        boolean clickable) {
    AnswerItem<WebElement> answer = new AnswerItem<WebElement>();
    MessageEvent msg;//from  w  ww.j  a va2s. c o m
    By locator = this.getBy(identifier);
    MyLogger.log(WebDriverService.class.getName(), Level.DEBUG,
            "Waiting for Element : " + identifier.getIdentifier() + "=" + identifier.getLocator());
    try {
        WebDriverWait wait = new WebDriverWait(session.getDriver(), session.getDefaultWait());
        WebElement element;
        if (visible) {
            if (clickable) {
                element = wait.until(ExpectedConditions.elementToBeClickable(locator));
            } else {
                element = wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
            }
        } else {
            element = wait.until(ExpectedConditions.presenceOfElementLocated(locator));
        }
        answer.setItem(element);
        msg = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT);
        msg.setDescription(msg.getDescription().replace("%ELEMENT%",
                identifier.getIdentifier() + "=" + identifier.getLocator()));
    } catch (TimeoutException exception) {
        MyLogger.log(WebDriverService.class.getName(), Level.FATAL,
                "Exception waiting for element :" + exception);
        //throw new NoSuchElementException(identifier.getIdentifier() + "=" + identifier.getLocator());
        msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT_NO_SUCH_ELEMENT);
        msg.setDescription(msg.getDescription().replace("%ELEMENT%",
                identifier.getIdentifier() + "=" + identifier.getLocator()));
    }
    answer.setResultMessage(msg);
    return answer;
}

From source file:org.cerberus.service.engine.impl.WebDriverService.java

License:Open Source License

@Override
public MessageEvent doSeleniumActionWait(Session session, Identifier identifier) {
    MessageEvent message;/*  w  w w .j  a v a2 s.  c o m*/
    try {
        WebDriverWait wait = new WebDriverWait(session.getDriver(), TIMEOUT_WEBELEMENT);
        wait.until(ExpectedConditions.presenceOfElementLocated(this.getBy(identifier)));
        message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT);
        message.setDescription(message.getDescription().replaceAll("%ELEMENT%",
                identifier.getIdentifier() + "=" + identifier.getLocator()));
        return message;
    } catch (NoSuchElementException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT_NO_SUCH_ELEMENT);
        message.setDescription(message.getDescription().replaceAll("%ELEMENT%",
                identifier.getIdentifier() + "=" + identifier.getLocator()));
        MyLogger.log(WebDriverService.class.getName(), Level.DEBUG, exception.toString());
        return message;
    } catch (WebDriverException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_SELENIUM_CONNECTIVITY);
        MyLogger.log(WebDriverService.class.getName(), Level.FATAL, exception.toString());
        return message;
    }
}

From source file:org.cerberus.service.webdriver.impl.WebDriverService.java

License:Open Source License

private AnswerItem<WebElement> getSeleniumElement(Session session, Identifier identifier, boolean visible,
        boolean clickable) {
    AnswerItem<WebElement> answer = new AnswerItem<WebElement>();
    MessageEvent msg;/*w  w w  .  j ava2s  .  com*/
    By locator = this.getBy(identifier);
    MyLogger.log(WebDriverService.class.getName(), Level.DEBUG,
            "Waiting for Element : " + identifier.getIdentifier() + "=" + identifier.getLocator());
    try {
        WebDriverWait wait = new WebDriverWait(session.getDriver(),
                TimeUnit.MILLISECONDS.toSeconds(session.getCerberus_selenium_wait_element()));
        WebElement element;
        if (visible) {
            if (clickable) {
                element = wait.until(ExpectedConditions.elementToBeClickable(locator));
            } else {
                element = wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
            }
        } else {
            element = wait.until(ExpectedConditions.presenceOfElementLocated(locator));
        }
        answer.setItem(element);
        msg = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT);
        msg.setDescription(msg.getDescription().replace("%ELEMENT%",
                identifier.getIdentifier() + "=" + identifier.getLocator()));
    } catch (TimeoutException exception) {
        MyLogger.log(WebDriverService.class.getName(), Level.FATAL,
                "Exception waiting for element :" + exception);
        //throw new NoSuchElementException(identifier.getIdentifier() + "=" + identifier.getLocator());
        msg = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT_NO_SUCH_ELEMENT);
        msg.setDescription(msg.getDescription().replace("%ELEMENT%",
                identifier.getIdentifier() + "=" + identifier.getLocator()));
    }
    answer.setResultMessage(msg);
    return answer;
}

From source file:org.cerberus.service.webdriver.impl.WebDriverService.java

License:Open Source License

@Override
public boolean isElementNotPresent(Session session, Identifier identifier) {
    By locator = this.getBy(identifier);
    MyLogger.log(WebDriverService.class.getName(), Level.DEBUG, "Waiting for Element to be not present : "
            + identifier.getIdentifier() + "=" + identifier.getLocator());
    try {//from  w ww. j  a  v a2  s.c  om
        WebDriverWait wait = new WebDriverWait(session.getDriver(),
                TimeUnit.MILLISECONDS.toSeconds(session.getCerberus_selenium_wait_element()));
        return wait.until(ExpectedConditions.not(ExpectedConditions.presenceOfElementLocated(locator)));
    } catch (TimeoutException exception) {
        MyLogger.log(WebDriverService.class.getName(), Level.FATAL,
                "Exception waiting for element to be not present :" + exception);
        return false;
    }
}

From source file:org.cerberus.service.webdriver.impl.WebDriverService.java

License:Open Source License

@Override
public MessageEvent doSeleniumActionWait(Session session, Identifier identifier) {
    MessageEvent message;/*  www  . ja  va  2 s .  com*/
    try {
        WebDriverWait wait = new WebDriverWait(session.getDriver(), TIMEOUT_WEBELEMENT);
        wait.until(ExpectedConditions.presenceOfElementLocated(this.getBy(identifier)));
        message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT);
        message.setDescription(message.getDescription().replace("%ELEMENT%",
                identifier.getIdentifier() + "=" + identifier.getLocator()));
        return message;
    } catch (NoSuchElementException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT_NO_SUCH_ELEMENT);
        message.setDescription(message.getDescription().replace("%ELEMENT%",
                identifier.getIdentifier() + "=" + identifier.getLocator()));
        MyLogger.log(WebDriverService.class.getName(), Level.DEBUG, exception.toString());
        return message;
    } catch (WebDriverException exception) {
        MyLogger.log(WebDriverService.class.getName(), Level.FATAL, exception.toString());
        return parseWebDriverException(exception);
    }
}

From source file:org.cerberus.serviceEngine.impl.SeleniumService.java

License:Open Source License

private WebElement getSeleniumElement(Selenium selenium, String input, boolean visible) {
    By locator = this.getIdentifier(input);
    MyLogger.log(RunTestCaseService.class.getName(), Level.DEBUG, "Waiting for Element : " + input);
    try {/* ww w .  j  a  va 2  s .  c o  m*/
        WebDriverWait wait = new WebDriverWait(selenium.getDriver(), selenium.getDefaultWait());
        if (visible) {
            wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
        } else {
            wait.until(ExpectedConditions.presenceOfElementLocated(locator));
        }
    } catch (TimeoutException exception) {
        throw new NoSuchElementException(input);
    }
    MyLogger.log(RunTestCaseService.class.getName(), Level.DEBUG, "Finding selenium Element : " + input);
    return selenium.getDriver().findElement(locator);
}

From source file:org.cerberus.serviceEngine.impl.SeleniumService.java

License:Open Source License

@Override
public MessageEvent doSeleniumActionWait(Selenium selenium, String object, String property) {
    MessageEvent message;/*from www. ja v a 2  s. c  o  m*/
    try {
        if (!StringUtil.isNull(property)) {
            if (StringUtil.isNumeric(property)) {
                try {
                    Thread.sleep(Integer.parseInt(property));
                } catch (InterruptedException exception) {
                    MyLogger.log(SeleniumService.class.getName(), Level.INFO, exception.toString());
                    message = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT);
                    message.setDescription(message.getDescription().replaceAll("%TIME%", property));
                    return message;
                }
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_TIME);
                message.setDescription(message.getDescription().replaceAll("%TIME%", property));
                return message;
            } else {
                try {
                    WebDriverWait wait = new WebDriverWait(selenium.getDriver(), TIMEOUT_WEBELEMENT);
                    wait.until(ExpectedConditions.presenceOfElementLocated(this.getIdentifier(property)));
                    message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT);
                    message.setDescription(message.getDescription().replaceAll("%ELEMENT%", property));
                    return message;
                } catch (NoSuchElementException exception) {
                    message = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT_NO_SUCH_ELEMENT);
                    message.setDescription(message.getDescription().replaceAll("%ELEMENT%", property));
                    MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                    return message;
                }
            }
        } else if (!StringUtil.isNull(object)) {
            if (StringUtil.isNumeric(object)) {
                try {
                    Thread.sleep(Integer.parseInt(object));
                } catch (InterruptedException exception) {
                    MyLogger.log(SeleniumService.class.getName(), Level.INFO, exception.toString());
                    message = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT);
                    message.setDescription(message.getDescription().replaceAll("%TIME%", object));
                    return message;
                }
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_TIME);
                message.setDescription(message.getDescription().replaceAll("%TIME%", object));
                return message;
            } else {
                try {
                    WebDriverWait wait = new WebDriverWait(selenium.getDriver(), TIMEOUT_WEBELEMENT);
                    wait.until(ExpectedConditions.presenceOfElementLocated(this.getIdentifier(object)));
                    message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT);
                    message.setDescription(message.getDescription().replaceAll("%ELEMENT%", object));
                    return message;
                } catch (NoSuchElementException exception) {
                    message = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT_NO_SUCH_ELEMENT);
                    message.setDescription(message.getDescription().replaceAll("%ELEMENT%", object));
                    MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                    return message;
                }
            }
        } else {
            try {
                Thread.sleep(TIMEOUT_MILLIS);
            } catch (InterruptedException exception) {
                MyLogger.log(SeleniumService.class.getName(), Level.INFO, exception.toString());
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_WAIT);
                message.setDescription(
                        message.getDescription().replaceAll("%TIME%", Integer.toString(TIMEOUT_MILLIS)));
                return message;
            }
            message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_WAIT_TIME);
            message.setDescription(
                    message.getDescription().replaceAll("%TIME%", Integer.toString(TIMEOUT_MILLIS)));
            return message;
        }
    } catch (WebDriverException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_SELENIUM_CONNECTIVITY);
        MyLogger.log(SeleniumService.class.getName(), Level.FATAL, exception.toString());
        return message;
    }
}