Example usage for org.openqa.selenium WebDriver manage

List of usage examples for org.openqa.selenium WebDriver manage

Introduction

In this page you can find the example usage for org.openqa.selenium WebDriver manage.

Prototype

Options manage();

Source Link

Document

Gets the Option interface

Usage

From source file:org.xframium.device.artifact.api.SeleniumArtifactProducer.java

License:Open Source License

@Override
protected Artifact _getArtifact(WebDriver webDriver, ArtifactType aType, Map<String, String> parameterMap,
        ConnectedDevice connectedDevice, String testName, boolean success) {
    String rootFolder = testName + System.getProperty("file.separator") + connectedDevice.getDevice().getKey()
            + System.getProperty("file.separator");
    switch (aType) {
    case FAILURE_SOURCE:
        return new Artifact(rootFolder + "failureDOM.xml", webDriver.getPageSource().getBytes());

    case FAILURE_SOURCE_HTML:
        return new Artifact(rootFolder + "failureDOM.html",
                ("<html><head><link href=\"http://www.xframium.org/output/assets/css/prism.css\" rel=\"stylesheet\"><script src=\"http://www.xframium.org/output/assets/js/prism.js\"></script><body><pre class\"line-numbers\"><code class=\"language-markup\">"
                        + webDriver.getPageSource().replace("<", "&lt;").replace(">", "&gt;").replace("\t",
                                "  ")
                        + "</code></pre></body></html>").getBytes());

    case EXECUTION_DEFINITION:
        StringBuilder defBuilder = new StringBuilder();
        defBuilder.append("DATE=").append(simpleDateFormat.format(new Date(System.currentTimeMillis())))
                .append("\r\n");
        defBuilder.append("TIME=").append(timeFormat.format(new Date(System.currentTimeMillis())))
                .append("\r\n");
        defBuilder.append("TEST_CASE=").append(testName).append("\r\n");
        defBuilder.append("DEVICE=").append(connectedDevice.getDevice().getKey()).append("\r\n");
        defBuilder.append("SUCCESS=").append(success).append("\r\n");
        defBuilder.append("MANUFACTURER=").append(connectedDevice.getDevice().getManufacturer()).append("\r\n");
        defBuilder.append("MODEL=").append(connectedDevice.getDevice().getBrowserName()).append("\r\n");
        return new Artifact(rootFolder + "executionDefinition.properties", defBuilder.toString().getBytes());

    case CONSOLE_LOG:
        Artifact consoleArtifact = new Artifact(rootFolder + "console.txt",
                DeviceManager.instance().getLog().getBytes());
        DeviceManager.instance().clearLog();
        return consoleArtifact;

    case DEVICE_LOG:

        try {//from www  .j av  a2  s  .c  o  m
            LogEntries logEntries = webDriver.manage().logs().get(LogType.BROWSER);
            if (logEntries != null) {
                StringBuilder logBuilder = new StringBuilder();
                for (LogEntry logEntry : logEntries)
                    logBuilder.append(dateFormat.format(new Date(logEntry.getTimestamp()))).append(": ")
                            .append(logEntry.getMessage()).append("\r\n");

                return new Artifact(rootFolder + "deviceLog.txt", logBuilder.toString().getBytes());
            }
            return null;
        } catch (Exception e) {
            log.info("Could not generate device logs");
            return null;
        }

    case EXECUTION_RECORD_CSV:
        return generateCSVRecord(connectedDevice.getDevice(), testName, rootFolder);

    case EXECUTION_RECORD_HTML:
        return generateHTMLRecord(connectedDevice.getDevice(), testName, rootFolder, webDriver);

    case WCAG_REPORT:
        return generateWCAG(connectedDevice.getDevice(), testName, rootFolder);

    default:
        return null;

    }
}

From source file:org.xframium.device.property.SeleniumPropertyAdapter.java

License:Open Source License

@Override
public boolean applyInstanceProperties(Properties configurationProperties, Object wDriver) {
    WebDriver webDriver = (WebDriver) wDriver;

    webDriver.manage().timeouts().implicitlyWait(
            getIntProperty(configurationProperties, IMPLICIT_TIMEOUT, 12000), TimeUnit.MILLISECONDS);
    webDriver.manage().timeouts().pageLoadTimeout(
            getIntProperty(configurationProperties, PAGE_LOAD_TIMEOUT, 45000), TimeUnit.MILLISECONDS);
    webDriver.manage().timeouts().setScriptTimeout(
            getIntProperty(configurationProperties, SET_SCRIPT_TIMEOUT, 30000), TimeUnit.MILLISECONDS);
    return true;//  w  w w . ja va  2s  . c o m
}

From source file:org.xframium.gesture.device.action.spi.perfecto.CleanApplicationAction.java

License:Open Source License

@Override
public boolean _executeAction(WebDriver webDriver, List<Object> parameterList) {
    String executionId = getExecutionId(webDriver);
    String deviceName = getDeviceName(webDriver);

    String applicationName = (String) parameterList.get(0);

    ApplicationDescriptor appDesc = ApplicationRegistry.instance().getApplication(applicationName);

    Handset localDevice = PerfectoMobile.instance().devices().getDevice(deviceName);

    if (appDesc.getUrl() != null && !appDesc.getUrl().isEmpty()) {
        ////from w  ww .  ja v a2  s . co m
        // This is a Web URL so clear all cookies
        //

        webDriver.manage().deleteAllCookies();

        //
        // clear the browser cache (IOS only)
        //

        if ((localDevice.getOs().toLowerCase().equals("ios")) && (webDriver instanceof RemoteWebDriver)) {
            try {
                BrowserCacheLogic.clearSafariIOSCache((RemoteWebDriver) webDriver);
            } catch (Throwable e) {
                e.printStackTrace();
            }
        }
    } else {
        if (localDevice.getOs().toLowerCase().equals("android"))
            PerfectoMobile.instance().application().clean(executionId, deviceName, appDesc.getName(),
                    appDesc.getAndroidIdentifier());
        else
            log.warn("Could not clean application on " + localDevice.getOs());
    }
    return true;
}

From source file:org.xframium.page.keyWord.step.spi.KWSBrowser.java

License:Open Source License

@Override
public boolean _executeStep(Page pageObject, WebDriver webDriver, Map<String, Object> contextMap,
        Map<String, PageData> dataMap, Map<String, Page> pageMap, SuiteContainer sC,
        ExecutionContextTest executionContext) throws Exception {

    if (getName().toUpperCase().startsWith(SwitchType.SWITCH_TO_ELEMENT.name)) {
        Element currentElement = getElement(pageObject, contextMap, webDriver, dataMap,
                getName().split("\\.")[1], executionContext);
        if (currentElement == null) {
            log.warn("Attempting to switch to frame identified by " + getName() + " that does not exist");
            return false;
        }//from  w  w  w  .  j  a v a  2  s  . c o  m

        WebElement nativeElement = (WebElement) currentElement.getNative();
        if (nativeElement instanceof MorelandWebElement)
            nativeElement = ((MorelandWebElement) nativeElement).getWebElement();
        webDriver.switchTo().frame(nativeElement);
    } else {
        switch (SwitchType.valueOf(getName().toUpperCase())) {
        case SWITCH_BY_TITLE:
            return verifySwitchWindow(webDriver, getName(), getParameterValue(getParameterList().get(0),
                    contextMap, dataMap, executionContext.getxFID()) + "");
        case SWITCH_BY_URL:
            return verifySwitchWindow(webDriver, getName(), getParameterValue(getParameterList().get(0),
                    contextMap, dataMap, executionContext.getxFID()) + "");

        case SWITCH_NAMED_FRAME:
            webDriver.switchTo().frame(getParameterValue(getParameterList().get(0), contextMap, dataMap,
                    executionContext.getxFID()) + "");
            break;
        case SWITCH_INDEX:
            webDriver.switchTo().frame(Integer.parseInt(getParameterValue(getParameterList().get(0), contextMap,
                    dataMap, executionContext.getxFID()) + ""));
            break;
        case PARENT_FRAME:
            webDriver.switchTo().parentFrame();
            break;
        case DEFAULT_FRAME:
            webDriver.switchTo().defaultContent();
            break;
        case CLOSE_WINDOW:
            webDriver.close();
            break;
        case NAVIGATE:
            if (isTimed())
                ((DeviceWebDriver) webDriver).getCloud().getCloudActionProvider()
                        .startTimer((DeviceWebDriver) webDriver, null, executionContext);

            webDriver.get(getParameterValue(getParameterList().get(0), contextMap, dataMap,
                    executionContext.getxFID()) + "");
            break;

        case MAXIMIZE:
            webDriver.manage().window().maximize();
            break;
        case GET_TITLE:
            String pageTitle = webDriver.getTitle();
            if (getParameterList().size() > 1) {
                String compareTo = getParameterValue(getParameterList().get(0), contextMap, dataMap,
                        executionContext.getxFID()) + "";
                if (!compareTo.equals(pageTitle)) {
                    throw new ScriptException(
                            "Expected Title of [" + compareTo + "] but received [" + pageTitle + "]");
                }
            }

            if (!validateData(pageTitle))
                throw new ScriptException("GET_TITLE Expected a format of [" + getValidationType() + "("
                        + getValidation() + ") for [" + pageTitle + "]");

            if (getContext() != null && !getContext().trim().isEmpty())
                contextMap.put(getContext(), pageTitle);

            break;

        case GET_URL:
            String currentUrl = webDriver.getCurrentUrl();
            if (getParameterList().size() > 1) {
                String compareTo = getParameterValue(getParameterList().get(0), contextMap, dataMap,
                        executionContext.getxFID()) + "";
                if (!compareTo.equals(currentUrl)) {
                    throw new ScriptException(
                            "Expected Title of [" + compareTo + "] but received [" + currentUrl + "]");
                }
            }

            if (!validateData(currentUrl))
                throw new ScriptException("GET_URL Expected a format of [" + getValidationType() + "("
                        + getValidation() + ") for [" + currentUrl + "]");

            if (getContext() != null && !getContext().trim().isEmpty())
                contextMap.put(getContext(), currentUrl);

            break;

        case BACK:
            if (isTimed())
                ((DeviceWebDriver) webDriver).getCloud().getCloudActionProvider()
                        .startTimer((DeviceWebDriver) webDriver, null, executionContext);
            webDriver.navigate().back();
            break;
        case FORWARD:
            if (isTimed())
                ((DeviceWebDriver) webDriver).getCloud().getCloudActionProvider()
                        .startTimer((DeviceWebDriver) webDriver, null, executionContext);
            webDriver.navigate().forward();
            break;
        case REFRESH:
            webDriver.navigate().refresh();
            break;
        case SWITCH_WIN_INDEX:
            int i = 0;
            int index = 0;
            if (getParameterList().size() < 2)
                index = 0;
            else
                index = Integer.valueOf(getParameterValue(getParameterList().get(1), contextMap, dataMap,
                        executionContext.getxFID()) + "");

            for (String handle : webDriver.getWindowHandles()) {
                if (i == index) {
                    webDriver.switchTo().window(handle);
                    break;
                }
                i += 1;
            }
            break;
        case ADD_COOKIE:
            Cookie addCookie = new Cookie(
                    getParameterValue(getParameterList().get(0), contextMap, dataMap,
                            executionContext.getxFID()) + "",
                    getParameterValue(getParameterList().get(1), contextMap, dataMap,
                            executionContext.getxFID()) + "");
            if (webDriver instanceof RemoteWebDriver)
                ((RemoteWebDriver) webDriver).manage().addCookie(addCookie);
            else if (webDriver instanceof NativeDriverProvider
                    && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver) {
                ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver()).manage()
                        .addCookie(addCookie);
            }

            break;

        case DELETE_COOKIE:

            if (getParameterList().size() < 1) {
                if (webDriver instanceof RemoteWebDriver)
                    ((RemoteWebDriver) webDriver).manage().deleteAllCookies();
                else if (webDriver instanceof NativeDriverProvider
                        && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver) {
                    ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver()).manage()
                            .deleteAllCookies();
                }
            } else {
                if (webDriver instanceof RemoteWebDriver)
                    ((RemoteWebDriver) webDriver).manage()
                            .deleteCookieNamed(getParameterValue(getParameterList().get(0), contextMap, dataMap,
                                    executionContext.getxFID()) + "");
                else if (webDriver instanceof NativeDriverProvider
                        && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver) {
                    ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver()).manage()
                            .deleteCookieNamed(getParameterValue(getParameterList().get(0), contextMap, dataMap,
                                    executionContext.getxFID()) + "");
                }
            }
            break;

        case GET_COOKIE:

            if (getParameterList().size() < 1) {
                Set<Cookie> cookieSet = null;
                if (webDriver instanceof RemoteWebDriver)
                    cookieSet = ((RemoteWebDriver) webDriver).manage().getCookies();
                else if (webDriver instanceof NativeDriverProvider
                        && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver) {
                    cookieSet = ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver())
                            .manage().getCookies();
                }

                StringBuilder buffer = new StringBuilder();
                for (Cookie cookie : cookieSet) {
                    buffer.append(cookie.getName() + ":" + cookie.getValue()).append(";");
                    if (getContext() != null) {
                        contextMap.put(getContext() + "_" + cookie.getName(), cookie.getValue());
                    }
                }
                String cookieValue = buffer.toString();
                if (!validateData(cookieValue)) {
                    throw new IllegalStateException("Get cookie Expected a format of [" + getValidationType()
                            + "(" + getValidation() + ") for [" + cookieValue + "]");
                }

                if (getContext() != null) {
                    contextMap.put(getContext(), cookieValue);
                }

            } else {
                Cookie getCookie = null;
                if (webDriver instanceof RemoteWebDriver)
                    getCookie = ((RemoteWebDriver) webDriver).manage()
                            .getCookieNamed(getParameterValue(getParameterList().get(0), contextMap, dataMap,
                                    executionContext.getxFID()) + "");
                else if (webDriver instanceof NativeDriverProvider
                        && ((NativeDriverProvider) webDriver).getNativeDriver() instanceof RemoteWebDriver)
                    getCookie = ((RemoteWebDriver) ((NativeDriverProvider) webDriver).getNativeDriver())
                            .manage().getCookieNamed(getParameterValue(getParameterList().get(0), contextMap,
                                    dataMap, executionContext.getxFID()) + "");

                if (!validateData(getCookie.getValue())) {
                    throw new IllegalStateException("Get cookie Expected a format of [" + getValidationType()
                            + "(" + getValidation() + ") for [" + getCookie.getValue() + "]");
                }

                if (getContext() != null) {
                    contextMap.put(getContext(), getCookie.getValue());
                }
            }

            break;

        case PAGE_DOWN:
            int pageDown = 1;
            if (getParameter("Page Count") != null)
                pageDown = Integer.parseInt(getParameterValue(getParameter("Page Count"), contextMap, dataMap,
                        executionContext.getxFID()));

            if (webDriver instanceof JavascriptExecutor)
                ((JavascriptExecutor) webDriver)
                        .executeScript("window.scrollBy( 0, (window.innerHeight * " + pageDown + "));");
            break;

        case PAGE_UP:
            int pageUp = 1;
            if (getParameter("Page Count") != null)
                pageUp = Integer.parseInt(getParameterValue(getParameter("Page Count"), contextMap, dataMap,
                        executionContext.getxFID()));

            if (webDriver instanceof JavascriptExecutor)
                ((JavascriptExecutor) webDriver)
                        .executeScript("window.scrollBy( 0, -(window.innerHeight * " + pageUp + "));");
            break;

        case SCROLL_DOWN:
            int scrollDown = 250;
            if (getParameter("Scroll Size") != null)
                scrollDown = Integer.parseInt(getParameterValue(getParameter("Scroll Size"), contextMap,
                        dataMap, executionContext.getxFID()));

            if (webDriver instanceof JavascriptExecutor)
                ((JavascriptExecutor) webDriver).executeScript("window.scrollBy( 0, " + scrollDown + ");");
            break;

        case SCROLL_UP:
            int scrollUp = 250;
            if (getParameter("Scroll Size") != null)
                scrollUp = Integer.parseInt(getParameterValue(getParameter("Scroll Size"), contextMap, dataMap,
                        executionContext.getxFID()));

            if (webDriver instanceof JavascriptExecutor)
                ((JavascriptExecutor) webDriver).executeScript("window.scrollBy( 0, -" + scrollUp + ");");
            break;

        default:

            throw new ScriptConfigurationException("Unknown Window Operation Type " + getName());
        }
    }

    return true;
}

From source file:org.xframium.page.keyWord.step.spi.KWSWindow.java

License:Open Source License

@Override
public boolean _executeStep(Page pageObject, WebDriver webDriver, Map<String, Object> contextMap,
        Map<String, PageData> dataMap, Map<String, Page> pageMap) throws Exception {
    if (log.isDebugEnabled())
        log.debug("Execution Function " + getName());

    if (getParameterList().size() < 1)
        throw new IllegalArgumentException(
                "First Parameter Switchtype should be provided with values BY_WINTITLE| BY_WINURL|BY_FRAME|BY_PARENTFRAME|BY_DEFAULT");

    try {//  ww  w.ja v  a  2 s.c  o m
        // Verify if the parameter-1 values are correct
        String switchType = getParameterValue(getParameterList().get(0), contextMap, dataMap) + "";
        String switchExpValue = "";

        switch (SwitchType.valueOf(switchType)) {
        case BY_WINTITLE:
            if (getParameterList().size() < 2)
                throw new IllegalArgumentException("Please provide the title for the window as a parameter");
            switchExpValue = getParameterValue(getParameterList().get(1), contextMap, dataMap) + "";
            return verifySwitchWindow(webDriver, switchType, switchExpValue);
        case BY_WINURL:
            if (getParameterList().size() < 2)
                throw new IllegalArgumentException("Please provide the URL for the window as a parameter");
            switchExpValue = getParameterValue(getParameterList().get(1), contextMap, dataMap) + "";
            return verifySwitchWindow(webDriver, switchType, switchExpValue);
        case BY_FRAME:
            if (getParameterList().size() < 2)
                throw new IllegalArgumentException("Please provide the Frame id for the Frame as a parameter");
            switchExpValue = getParameterValue(getParameterList().get(1), contextMap, dataMap) + "";
            webDriver.switchTo().frame(switchExpValue);
            break;

        case BY_PARENTFRAME:
            webDriver.switchTo().parentFrame();
            break;
        case BY_DEFAULT:
            webDriver.switchTo().defaultContent();
            break;
        case BY_WINCLOSE:
            webDriver.close();
            break;

        case BY_ELEMENT:
            Element currentElement = getElement(pageObject, contextMap, webDriver, dataMap);
            if (currentElement == null) {
                log.warn("Attempting to switch to frame identified by " + getName() + " that does not exist");
                return false;
            }

            WebElement nativeElement = (WebElement) currentElement.getNative();
            if (nativeElement instanceof MorelandWebElement)
                nativeElement = ((MorelandWebElement) nativeElement).getWebElement();
            webDriver.switchTo().frame(nativeElement);
            break;
        case BY_ALERT:
            WebDriverWait alertWait = new WebDriverWait(webDriver, 5);
            alertWait.until(ExpectedConditions.alertIsPresent());
            Alert alert = webDriver.switchTo().alert();
            alert.accept();
            break;
        case BY_MAXIMIZE:
            webDriver.manage().window().maximize();
            break;
        default:
            throw new IllegalArgumentException(
                    "Parameter switchtype should be BY_WINTITLE| BY_WINURL|BY_FRAME|BY_PARENTFRAME|BY_DEFAULT|BY_ALERT|BY_ELEMENT|BY_MAXIMIZE");
        }

    } catch (Exception e) {
        log.error("Error executing function for validation [" + getName() + "] on page [" + getPageName() + "]",
                e);
        return false;
    }

    return true;
}

From source file:org.xwiki.test.ui.TestUtils.java

License:Open Source License

/**
 * Forces the passed driver to wait for a {@link #getTimeout()} number of seconds when looking up page elements
 * before declaring that it cannot find them.
 *//*from   ww w  .j av  a2s  .  c  om*/
public void setDriverImplicitWait(WebDriver driver) {
    driver.manage().timeouts().implicitlyWait(getTimeout(), TimeUnit.SECONDS);
}

From source file:org.xwiki.test.ui.TestUtils.java

License:Open Source License

public WebElement findElementWithoutWaiting(WebDriver driver, By by) {
    // Temporarily remove the implicit wait on the driver since we're doing our own waits...
    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
    try {/*from   www  .j  a  va2 s  . c  o  m*/
        return driver.findElement(by);
    } finally {
        setDriverImplicitWait(driver);
    }
}

From source file:org.xwiki.test.ui.TestUtils.java

License:Open Source License

public List<WebElement> findElementsWithoutWaiting(WebDriver driver, By by) {
    // Temporarily remove the implicit wait on the driver since we're doing our own waits...
    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
    try {//from w w  w  .ja v a 2 s . c  om
        return driver.findElements(by);
    } finally {
        setDriverImplicitWait(driver);
    }
}

From source file:org.xwiki.test.ui.TestUtils.java

License:Open Source License

public WebElement findElementWithoutWaiting(WebDriver driver, WebElement element, By by) {
    // Temporarily remove the implicit wait on the driver since we're doing our own waits...
    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
    try {/*from w w w . j ava 2  s  .  c om*/
        return element.findElement(by);
    } finally {
        setDriverImplicitWait(driver);
    }
}

From source file:org.xwiki.test.ui.TestUtils.java

License:Open Source License

public List<WebElement> findElementsWithoutWaiting(WebDriver driver, WebElement element, By by) {
    // Temporarily remove the implicit wait on the driver since we're doing our own waits...
    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
    try {/*from   w  ww.  j  a  v  a 2s  .c o  m*/
        return element.findElements(by);
    } finally {
        setDriverImplicitWait(driver);
    }
}