Example usage for org.openqa.selenium.interactions Actions build

List of usage examples for org.openqa.selenium.interactions Actions build

Introduction

In this page you can find the example usage for org.openqa.selenium.interactions Actions build.

Prototype

public Action build() 

Source Link

Document

Generates a composite action containing all actions so far, ready to be performed (and resets the internal builder state, so subsequent calls to #build() will contain fresh sequences).

Usage

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

License:Open Source License

@Override
public MessageEvent doSeleniumActionMouseDown(Session session, Identifier identifier) {
    MessageEvent message;//from www  .  j av  a  2 s .  c  o m
    try {

        AnswerItem answer = this.getSeleniumElement(session, identifier, true, true);
        if (answer.isCodeEquals(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT.getCode())) {
            WebElement webElement = (WebElement) answer.getItem();
            if (webElement != null) {
                Actions actions = new Actions(session.getDriver());
                actions.clickAndHold(webElement);
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEDOWN);
                message.setDescription(message.getDescription().replace("%ELEMENT%",
                        identifier.getIdentifier() + "=" + identifier.getLocator()));
                return message;
            }
        }

        return answer.getResultMessage();
    } catch (NoSuchElementException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEDOWN_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 (TimeoutException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_TIMEOUT);
        message.setDescription(message.getDescription().replace("%TIMEOUT%",
                String.valueOf(session.getCerberus_selenium_wait_element())));
        MyLogger.log(WebDriverService.class.getName(), Level.WARN, exception.toString());
        return message;
    } catch (WebDriverException exception) {
        MyLogger.log(WebDriverService.class.getName(), Level.FATAL, exception.toString());
        return parseWebDriverException(exception);
    }
}

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

License:Open Source License

@Override
public MessageEvent doSeleniumActionMouseUp(Session session, Identifier identifier) {
    MessageEvent message;//from w  ww.j  a  v  a  2  s  .  c  o  m
    try {
        AnswerItem answer = this.getSeleniumElement(session, identifier, true, true);
        if (answer.isCodeEquals(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT.getCode())) {
            WebElement webElement = (WebElement) answer.getItem();
            if (webElement != null) {
                Actions actions = new Actions(session.getDriver());
                actions.release(webElement);
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEUP);
                message.setDescription(message.getDescription().replace("%ELEMENT%",
                        identifier.getIdentifier() + "=" + identifier.getLocator()));
                return message;
            }
        }

        return answer.getResultMessage();
    } catch (NoSuchElementException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEUP_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 (TimeoutException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_TIMEOUT);
        message.setDescription(message.getDescription().replace("%TIMEOUT%",
                String.valueOf(session.getCerberus_selenium_wait_element())));
        MyLogger.log(WebDriverService.class.getName(), Level.WARN, exception.toString());
        return message;
    } catch (WebDriverException exception) {
        MyLogger.log(WebDriverService.class.getName(), Level.FATAL, exception.toString());
        return parseWebDriverException(exception);
    }
}

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

License:Open Source License

@Override
public MessageEvent doSeleniumActionDoubleClick(Session session, Identifier identifier,
        boolean waitForVisibility, boolean waitForClickability) {
    MessageEvent message;// www  . j a  v  a2s .  c  o  m
    try {
        AnswerItem answer = this.getSeleniumElement(session, identifier, waitForVisibility,
                waitForClickability);
        if (answer.isCodeEquals(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT.getCode())) {
            WebElement webElement = (WebElement) answer.getItem();
            if (webElement != null) {
                Actions actions = new Actions(session.getDriver());
                actions.doubleClick(webElement);
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_DOUBLECLICK);
                message.setDescription(message.getDescription().replace("%ELEMENT%",
                        identifier.getIdentifier() + "=" + identifier.getLocator()));
                return message;
            }
        }
        message = answer.getResultMessage();
        return message;
    } catch (NoSuchElementException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_DOUBLECLICK_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 (TimeoutException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_TIMEOUT);
        message.setDescription(message.getDescription().replace("%TIMEOUT%",
                String.valueOf(session.getCerberus_selenium_wait_element())));
        MyLogger.log(WebDriverService.class.getName(), Level.WARN, exception.toString());
        return message;
    } catch (WebDriverException exception) {
        MyLogger.log(WebDriverService.class.getName(), Level.FATAL, exception.toString());
        return parseWebDriverException(exception);
    }
}

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

License:Open Source License

@Override
public MessageEvent doSeleniumActionMouseOver(Session session, Identifier identifier) {
    MessageEvent message;/*www .ja  va 2s . co  m*/
    try {
        AnswerItem answer = this.getSeleniumElement(session, identifier, true, true);
        if (answer.isCodeEquals(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT.getCode())) {
            WebElement menuHoverLink = (WebElement) answer.getItem();
            if (menuHoverLink != null) {
                Actions actions = new Actions(session.getDriver());
                actions.moveToElement(menuHoverLink);
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEOVER);
                message.setDescription(message.getDescription().replace("%ELEMENT%",
                        identifier.getIdentifier() + "=" + identifier.getLocator()));
                return message;
            }
        }

        return answer.getResultMessage();
    } catch (NoSuchElementException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVER_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 (TimeoutException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_TIMEOUT);
        message.setDescription(message.getDescription().replace("%TIMEOUT%",
                String.valueOf(session.getCerberus_selenium_wait_element())));
        MyLogger.log(WebDriverService.class.getName(), Level.WARN, exception.toString());
        return message;
    } catch (WebDriverException exception) {
        MyLogger.log(WebDriverService.class.getName(), Level.FATAL, exception.toString());
        return parseWebDriverException(exception);
    }
}

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

License:Open Source License

@Override
public MessageEvent doSeleniumActionRightClick(Session session, Identifier identifier) {
    MessageEvent message;//  w  ww.  j ava  2s  . c  o  m
    try {
        AnswerItem answer = this.getSeleniumElement(session, identifier, true, true);
        if (answer.isCodeEquals(MessageEventEnum.ACTION_SUCCESS_WAIT_ELEMENT.getCode())) {
            WebElement webElement = (WebElement) answer.getItem();
            if (webElement != null) {
                Actions actions = new Actions(session.getDriver());
                actions.contextClick(webElement);
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_RIGHTCLICK);
                message.setDescription(message.getDescription().replace("%ELEMENT%",
                        identifier.getIdentifier() + "=" + identifier.getLocator()));
                return message;
            }
        }

        return answer.getResultMessage();
    } catch (NoSuchElementException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_RIGHTCLICK_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 (TimeoutException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_TIMEOUT);
        message.setDescription(message.getDescription().replace("%TIMEOUT%",
                String.valueOf(session.getCerberus_selenium_wait_element())));
        MyLogger.log(WebDriverService.class.getName(), Level.WARN, 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

@Override
public MessageEvent doSeleniumActionMouseDown(Selenium selenium, String string1, String string2) {
    MessageEvent message;/*from   w w  w .  j  a  v  a 2s  . co  m*/
    try {
        if (!StringUtil.isNull(string1)) {
            try {
                Actions actions = new Actions(selenium.getDriver());
                actions.clickAndHold(this.getSeleniumElement(selenium, string1, true));
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEDOWN);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string1));
                return message;
            } catch (NoSuchElementException exception) {
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEDOWN_NO_SUCH_ELEMENT);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string1));
                MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                return message;
            }
        } else if (!StringUtil.isNull(string2)) {
            try {
                Actions actions = new Actions(selenium.getDriver());
                actions.clickAndHold(this.getSeleniumElement(selenium, string2, true));
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEDOWN);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string2));
                return message;
            } catch (NoSuchElementException exception) {
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEDOWN_NO_SUCH_ELEMENT);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string2));
                MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                return message;
            }
        }
    } catch (WebDriverException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_SELENIUM_CONNECTIVITY);
        MyLogger.log(SeleniumService.class.getName(), Level.FATAL, exception.toString());
        return message;
    }
    return new MessageEvent(MessageEventEnum.ACTION_FAILED_NO_ELEMENT_TO_CLICK);
}

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

License:Open Source License

@Override
public MessageEvent doSeleniumActionMouseUp(Selenium selenium, String string1, String string2) {
    MessageEvent message;/*from  ww  w  . ja  v  a 2  s. co m*/
    try {
        if (!StringUtil.isNull(string1)) {
            try {
                Actions actions = new Actions(selenium.getDriver());
                actions.release(this.getSeleniumElement(selenium, string1, true));
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEUP);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string1));
                return message;
            } catch (NoSuchElementException exception) {
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEUP_NO_SUCH_ELEMENT);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string1));
                MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                return message;
            }
        } else if (!StringUtil.isNull(string2)) {
            try {
                Actions actions = new Actions(selenium.getDriver());
                actions.release(this.getSeleniumElement(selenium, string2, true));
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEUP);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string2));
                return message;
            } catch (NoSuchElementException exception) {
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEUP_NO_SUCH_ELEMENT);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string2));
                MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                return message;
            }
        }
    } catch (WebDriverException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_SELENIUM_CONNECTIVITY);
        MyLogger.log(SeleniumService.class.getName(), Level.FATAL, exception.toString());
        return message;
    }
    return new MessageEvent(MessageEventEnum.ACTION_FAILED_NO_ELEMENT_TO_CLICK);
}

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

License:Open Source License

@Override
public MessageEvent doSeleniumActionMouseOver(Selenium selenium, String html, String property) {
    MessageEvent message;/*www.  j  a  v a 2  s.  c  om*/
    try {
        if (!StringUtil.isNull(html)) {
            try {
                Actions actions = new Actions(selenium.getDriver());
                WebElement menuHoverLink = this.getSeleniumElement(selenium, html, true);
                actions.moveToElement(menuHoverLink);
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEOVER);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", html));
                return message;
            } catch (NoSuchElementException exception) {
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVER_NO_SUCH_ELEMENT);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", html));
                MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                return message;
            }
        } else if (!StringUtil.isNull(property)) {
            try {
                Actions actions = new Actions(selenium.getDriver());
                WebElement menuHoverLink = this.getSeleniumElement(selenium, property, true);
                actions.moveToElement(menuHoverLink);
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEOVER);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", property));
                return message;
            } catch (NoSuchElementException exception) {
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVER_NO_SUCH_ELEMENT);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", property));
                MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                return message;
            }
        }
    } catch (WebDriverException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_SELENIUM_CONNECTIVITY);
        MyLogger.log(SeleniumService.class.getName(), Level.FATAL, exception.toString());
        return message;
    }
    return new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVER);
}

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

License:Open Source License

@Override
public MessageEvent doSeleniumActionMouseOverAndWait(Selenium selenium, String actionObject,
        String actionProperty) {//ww w  .  j av  a2 s  . c  om
    MessageEvent message;
    try {
        if (!StringUtil.isNull(actionProperty) && !StringUtil.isNull(actionObject)) {
            if (StringUtil.isNumeric(actionProperty)) {
                try {
                    Actions actions = new Actions(selenium.getDriver());
                    WebElement menuHoverLink = this.getSeleniumElement(selenium, actionObject, true);
                    actions.moveToElement(menuHoverLink);
                    actions.build().perform();
                    int sleep = Integer.parseInt(actionProperty);
                    try {
                        Thread.sleep(sleep);
                        message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEOVERANDWAIT);
                        message.setDescription(message.getDescription().replaceAll("%ELEMENT%", actionObject));
                        message.setDescription(
                                message.getDescription().replaceAll("%TIME%", Integer.toString(sleep)));
                        return message;
                    } catch (InterruptedException e) {
                        MyLogger.log(SeleniumService.class.getName(), Level.INFO, e.toString());
                        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVERANDWAIT);
                        message.setDescription(message.getDescription().replaceAll("%ELEMENT1%", actionObject));
                        message.setDescription(
                                message.getDescription().replaceAll("%TIME%", Integer.toString(sleep)));
                        return message;
                    }
                } catch (NoSuchElementException exception) {
                    message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVER_NO_SUCH_ELEMENT);
                    message.setDescription(message.getDescription().replaceAll("%ELEMENT%", actionObject));
                    MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                    return message;
                }
            }
            message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVERANDWAIT_NO_NUMERIC);
            message.setDescription(message.getDescription().replaceAll("%TIME%", actionProperty));
            return message;
        } else if (StringUtil.isNull(actionProperty) && !StringUtil.isNull(actionObject)) {
            try {
                Actions actions = new Actions(selenium.getDriver());
                WebElement menuHoverLink = this.getSeleniumElement(selenium, actionObject, true);
                actions.moveToElement(menuHoverLink);
                actions.build().perform();
            } catch (NoSuchElementException exception) {
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVER_NO_SUCH_ELEMENT);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", actionObject));
                MyLogger.log(SeleniumService.class.getName(), Level.ERROR, exception.toString());
                return message;
            }
            message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_CLICKANDNOWAIT);
            message.setDescription(message.getDescription().replaceAll("%ELEMENT%", actionObject));
            return message;
        }
    } catch (WebDriverException exception) {
        message = new MessageEvent(MessageEventEnum.ACTION_FAILED_SELENIUM_CONNECTIVITY);
        MyLogger.log(SeleniumService.class.getName(), Level.FATAL, exception.toString());
        return message;
    }
    return new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEOVERANDWAIT_GENERIC);
}

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

License:Open Source License

@Override
public MessageEvent doSeleniumActionMouseDown(Session session, String string1, String string2) {
    MessageEvent message;//from  w  ww .  j a  va2s . c o  m
    try {
        if (!StringUtil.isNull(string1)) {
            try {
                Actions actions = new Actions(session.getDriver());
                actions.clickAndHold(this.getSeleniumElement(session, string1, true, true));
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEDOWN);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string1));
                return message;
            } catch (NoSuchElementException exception) {
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEDOWN_NO_SUCH_ELEMENT);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string1));
                MyLogger.log(WebDriverService.class.getName(), Level.DEBUG, exception.toString());
                return message;
            }
        } else if (!StringUtil.isNull(string2)) {
            try {
                Actions actions = new Actions(session.getDriver());
                actions.clickAndHold(this.getSeleniumElement(session, string1, true, true));
                actions.build().perform();
                message = new MessageEvent(MessageEventEnum.ACTION_SUCCESS_MOUSEDOWN);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string2));
                return message;
            } catch (NoSuchElementException exception) {
                message = new MessageEvent(MessageEventEnum.ACTION_FAILED_MOUSEDOWN_NO_SUCH_ELEMENT);
                message.setDescription(message.getDescription().replaceAll("%ELEMENT%", string2));
                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;
    }
    return new MessageEvent(MessageEventEnum.ACTION_FAILED_NO_ELEMENT_TO_CLICK);
}