Example usage for org.openqa.selenium WebDriver close

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

Introduction

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

Prototype

void close();

Source Link

Document

Close the current window, quitting the browser if it's the last window currently open.

Usage

From source file:org.springframework.springfaces.integrationtest.selenium.SimpleWebDriverManager.java

License:Apache License

public void releaseWebDriver(WebDriver webDriver) {
    webDriver.close();
}

From source file:org.suren.autotest.web.framework.invoker.EngineInvoker.java

License:Apache License

/**
 * urlwindow/*from  w w w .  j av a2 s. co m*/
 * @param phoenix 
 * @param params ?
 */
public static void closeWinByUrlStartWith(Phoenix phoenix, String[] params) {
    String startWith = params[0];
    WebDriver driver = phoenix.getEngine().getDriver();
    Set<String> handles = driver.getWindowHandles();
    Iterator<String> handleIt = handles.iterator();

    String currentHandle = driver.getWindowHandle();
    while (handleIt.hasNext()) {
        String handle = handleIt.next();

        driver.switchTo().window(handle);

        if (driver.getCurrentUrl().startsWith(startWith)) {
            driver.close();
            break;
        }
    }

    driver.switchTo().window(currentHandle);
}

From source file:org.suren.autotest.web.framework.selenium.WebPage.java

License:Apache License

@Override
public void closeOthers() {
    String currentTitle = getTitle();
    String currentWinHandle = engine.getDriver().getWindowHandle();

    for (String winHandle : engine.getDriver().getWindowHandles()) {
        WebDriver itemDrive = engine.getDriver().switchTo().window(winHandle);
        if (!itemDrive.getTitle().equals(currentTitle)) {
            itemDrive.close();
        }/*from   w w  w .  j av  a 2  s .c  o  m*/
    }

    engine.getDriver().switchTo().window(currentWinHandle);
}

From source file:org.webbench.SeleniumServerRun.java

License:Apache License

public static void main(String[] args) throws Exception {
    // We could use any driver for our tests...
    DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
    // ... but only if it supports javascript
    capabilities.setJavascriptEnabled(true);

    // Get a handle to the driver. This will throw an exception
    // if a matching driver cannot be located
    WebDriver driver1 = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub"), capabilities);

    // Query the driver to find out more information
    //        Capabilities actualCapabilities = ((RemoteWebDriver) driver1).getCapabilities();

    // And now use it
    driver1.get("http://www.google.com");

    //        WebDriver driver2 = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub"), capabilities);
    //        driver2.get("http://www.google.com");

    //        Thread.sleep(60000);
    driver1.close();
    //        driver2.close();
}

From source file:org.wso2.appmanager.ui.integration.test.utils.AppManagerIntegrationTest.java

License:Open Source License

protected void closeDriver(WebDriver driver) {
    if (driver != null) {
        driver.close();
        driver.quit();
    }
}

From source file:org.wso2.carbon.appmanager.integration.ui.TestCases.ThrottlingTestCase.java

License:Open Source License

private void cleanWebDriver(WebDriver driver) {
    String parentWindow = driver.getWindowHandle();
    Set<String> handles = driver.getWindowHandles();
    for (String windowHandle : handles) {
        if (!windowHandle.equals(parentWindow)) {
            driver.switchTo().window(windowHandle);
            driver.close();
        }// w w w  . j  av a  2s.  c om
    }
    driver.switchTo().window(parentWindow);
    driver.close();
}

From source file:org.wso2.carbon.appmanager.integration.ui.Util.APPMStoreUIClient.java

License:Open Source License

public void selectAppGadget(WebDriver driver, String appId) {
    driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);

    WebDriverWait wait = new WebDriverWait(driver, 30);
    wait.until(ExpectedConditions.visibilityOfElementLocated(By
            .xpath("//div[@data-id='" + appId + "']/div[@class='asset-details']/div[@class='asset-name']/a")));
    driver.findElement(/*from   w  w  w  . ja  v  a2 s.  c  o m*/
            By.xpath("//div[@data-id='" + appId + "']/div[@class='asset-details']/div[@class='asset-name']/a"))
            .click();
    driver.close();
    for (String winHandle : driver.getWindowHandles()) {
        driver.switchTo().window(winHandle);
    }
}

From source file:org.xframium.device.ng.AbstractSeleniumTest.java

License:Open Source License

private void cleanUpConnectedDevice(String name, ConnectedDevice device, Method currentMethod,
        Object[] testArgs, ITestResult testResult) {
    WebDriver webDriver = device.getWebDriver();
    Device currentDevice = device.getDevice();

    try {/*from   w w  w  .  j  a  va  2  s  . c o m*/
        if (webDriver != null) {
            String runKey = ((DEFAULT.equals(name)) ? ((TestName) testArgs[0]).getTestName()
                    : ((TestName) testArgs[0]).getTestName() + "-" + name);

            File rootFolder = new File(DataManager.instance().getReportFolder(),
                    RunDetails.instance().getRootFolder());
            rootFolder.mkdirs();
            //
            // If this test failed, run through the automatic downloads for a
            // failed test
            //
            if (!testResult.isSuccess()) {
                if (webDriver instanceof TakesScreenshot) {
                    OutputStream os = null;
                    try {
                        byte[] screenShot = ((TakesScreenshot) webDriver).getScreenshotAs(OutputType.BYTES);
                        File useFolder = new File(rootFolder, runKey);
                        File outputFile = new File(useFolder, currentDevice.getKey()
                                + System.getProperty("file.separator") + "failure-screenshot.png");
                        outputFile.getParentFile().mkdirs();
                        os = new BufferedOutputStream(new FileOutputStream(outputFile));
                        os.write(screenShot);
                        os.flush();
                        os.close();
                    } catch (Exception e) {
                        log.error("Error taking screenshot", e);
                        try {
                            os.close();
                        } catch (Exception e2) {
                        }
                    }
                }

                if (DataManager.instance().getAutomaticDownloads() != null) {
                    if (webDriver instanceof ArtifactProducer) {
                        if (DataManager.instance().getReportFolder() == null)
                            DataManager.instance().setReportFolder(new File("."));

                        for (ArtifactType aType : DataManager.instance().getAutomaticDownloads()) {
                            if (aType.getTime() == ArtifactTime.ON_FAILURE) {
                                try {
                                    Artifact currentArtifact = ((ArtifactProducer) webDriver).getArtifact(
                                            webDriver, aType, device, runKey,
                                            testResult.getStatus() == ITestResult.SUCCESS);
                                    if (currentArtifact != null)
                                        currentArtifact.writeToDisk(rootFolder);
                                } catch (Exception e) {
                                    log.error("Error acquiring Artifacts", e);
                                }
                            }
                        }
                    }
                }
            }

            try {
                webDriver.close();
            } catch (Exception e) {
            }

            if (DataManager.instance().getAutomaticDownloads() != null) {
                if (webDriver instanceof ArtifactProducer) {
                    if (DataManager.instance().getReportFolder() == null)
                        DataManager.instance().setReportFolder(new File("."));

                    for (ArtifactType aType : DataManager.instance().getAutomaticDownloads()) {
                        if (aType.getTime() == ArtifactTime.AFTER_TEST) {
                            try {
                                Artifact currentArtifact = ((ArtifactProducer) webDriver).getArtifact(webDriver,
                                        aType, device, runKey, testResult.getStatus() == ITestResult.SUCCESS);
                                if (currentArtifact != null)
                                    currentArtifact.writeToDisk(rootFolder);
                            } catch (Exception e) {
                                log.error("Error acquiring Artifacts - " + e);
                            }
                        }
                    }
                }
            }

            try {
                webDriver.quit();
            } catch (Exception e) {
            }
        }

        if (currentDevice != null) {
            if (webDriver instanceof DeviceWebDriver)
                DeviceManager.instance().addRun(((DeviceWebDriver) webDriver).getPopulatedDevice(),
                        currentMethod, ((TestName) testArgs[0]).getTestName(), testResult.isSuccess(),
                        device.getPersona());
            else
                DeviceManager.instance().addRun(currentDevice, currentMethod,
                        ((TestName) testArgs[0]).getTestName(), testResult.isSuccess(), device.getPersona());

        }
    } finally {
        if (currentDevice != null)
            DeviceManager.instance().releaseDevice(currentDevice);
    }

}

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;
        }/*ww w .  jav a 2 s  . c om*/

        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 {//from  w w  w  .  j a va  2 s . co  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;
}