Example usage for org.openqa.selenium Cookie getName

List of usage examples for org.openqa.selenium Cookie getName

Introduction

In this page you can find the example usage for org.openqa.selenium Cookie getName.

Prototype

public String getName() 

Source Link

Usage

From source file:org.jspringbot.keyword.selenium.SeleniumHelper.java

License:Open Source License

public String getCookieValue(String cookieName) {
    Cookie cookie = driver.manage().getCookieNamed(cookieName);

    if (cookie != null) {
        LOG.createAppender().appendBold("Get Cookie Value").appendProperty(cookie.getName(), cookie.getValue())
                .log();//from w w w . java2 s .  c  om

        return cookie.getValue();
    } else {
        throw new IllegalStateException(String.format("Cookie with name '%s' not found", cookieName));
    }
}

From source file:org.jspringbot.keyword.selenium.SeleniumHelper.java

License:Open Source License

public Set<Cookie> getCookies() {
    Set<Cookie> cookies = driver.manage().getCookies();

    HighlightRobotLogger.HtmlAppender appender = LOG.createAppender().appendBold("Get Cookies:");

    for (Cookie cookie : cookies) {
        appender.appendProperty(cookie.getName(), cookie.getValue());
    }/*  w  w w . j  a  v  a 2  s . co  m*/

    appender.log();

    return cookies;
}

From source file:org.keycloak.testsuite.AbstractAuthTest.java

License:Apache License

public void listCookies() {
    log.info("LIST OF COOKIES: ");
    for (Cookie c : driver.manage().getCookies()) {
        log.info(MessageFormat.format(" {1} {2} {0}", c.getName(), c.getDomain(), c.getPath(), c.getValue()));
    }//from w  w  w . java 2 s .  c om
}

From source file:org.keycloak.testsuite.console.realm.LoginSettingsTest.java

License:Apache License

private Set<String> getCookieNames() {
    Set<Cookie> cookies = driver.manage().getCookies();
    Set<String> cookieNames = new HashSet<>();
    for (Cookie cookie : cookies) {
        cookieNames.add(cookie.getName());
    }/*from w w  w .  ja  v a  2 s  .c om*/
    return cookieNames;
}

From source file:org.mozilla.zest.core.v1.ZestClientAssignCookie.java

License:Mozilla Public License

@Override
public String invoke(ZestRuntime runtime) throws ZestClientFailException {
    WebDriver wd = runtime.getWebDriver(this.getWindowHandle());
    String val = "";

    if (cookieName != null && cookieName.length() > 0) {
        // A named cookie
        Cookie cookie = wd.manage().getCookieNamed(cookieName);
        if (cookie != null) {
            val = cookie.getValue();
        }/*ww  w .  java  2s  .c om*/
    } else {
        // return all of them
        StringBuilder sb = new StringBuilder();
        for (Cookie cookie : wd.manage().getCookies()) {
            sb.append(cookie.getName());
            sb.append("=");
            sb.append(cookie.getValue());
            sb.append("; ");
        }
        val = sb.toString();
    }

    runtime.setVariable(this.variableName, val);
    return val;
}

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

License:Apache License

/**
 * ???//from ww w . j a  va2  s.c om
 * @param engine 
 * @param param data,http://localhost:8080/G2/captcha!getLastCode.do
 * @return ??
 */
public static String execute(SeleniumEngine engine, String param) {
    WebDriver driver = engine.getDriver();
    Options manage = driver.manage();

    String[] paramArray = param.split(",", 2);

    if (paramArray.length != 2) {
        throw new RuntimeException("Param format is error, should be 'data,url'");
    }

    String key = paramArray[0];
    String url = paramArray[1];

    Set<Cookie> cookies = manage.getCookies();
    List<AtCookie> atCookieList = new ArrayList<AtCookie>();
    for (Cookie cookie : cookies) {
        String name = cookie.getName();
        String value = cookie.getValue();

        AtCookie atCookie = new AtCookie();
        atCookie.setName(name);
        atCookie.setValue(value);
        atCookie.setPath(cookie.getPath());
        atCookie.setDomain(cookie.getDomain());

        atCookieList.add(atCookie);
    }

    String code = HttpApiUtil.getJsonValue(url, atCookieList, key);

    return code;
}

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  ww.  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.KWSGetCookies.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) {
    if (pageObject == null) {
        throw new IllegalStateException("Page Object was not defined");
    }//www .j a v  a 2s.c  o m

    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();
    Iterator<Cookie> cookies = cookieSet.iterator();

    while (cookies.hasNext()) {
        Cookie cookie = cookies.next();

        buffer.append(cookie.getName() + ":" + cookie.getValue());
        if (cookies.hasNext()) {
            buffer.append(";");
        }
    }

    Object result = buffer.toString();

    if (log.isDebugEnabled())
        log.debug("Cookie List [" + result + "]");

    if ((result instanceof String) && (!validateData(result + ""))) {
        throw new IllegalStateException("Get cookies Expected a format of [" + getValidationType() + "("
                + getValidation() + ") for [" + result + "]");
    }

    if (getContext() != null) {
        if (log.isDebugEnabled())
            log.debug("Setting Context Data to [" + result + "] for [" + getContext() + "]");
        contextMap.put(getContext(), result);
    }

    return true;
}

From source file:renascere.Renascere.java

License:Open Source License

/**
 * @Description Method that gets current browser cookies and veries it number based on the inputs
 * @param driver -- Browser object to be used to gather the information
 * @param numberCookies  -- Expected number of cookies expected. 
 */// w  w  w  .  java2 s. co  m
public static void checkCookies(WebDriver driver, int numberCookies) {
    //Getting cookies information
    Set<Cookie> seleniumCookies = driver.manage().getCookies();
    int currentCookies = driver.manage().getCookies().size();
    if (currentCookies == numberCookies) {
        logMessage(result.PASS, "Number of cookies is correct (" + currentCookies + ").");
        for (Cookie seleniumCookie : seleniumCookies) {
            logMessage(result.INFO,
                    "c.Name: " + seleniumCookie.getName() + " ||| c.Value: " + seleniumCookie.getValue()
                            + " ||| c.Domain: " + seleniumCookie.getDomain() + " ||| c.Path: "
                            + seleniumCookie.getPath() + " ||| c.Expiry: " + seleniumCookie.getExpiry()
                            + " ||| c.Class: " + seleniumCookie.getClass());
        }
    } else {
        logMessage(result.WARNING, "Number of cokkies is not the expected: " + currentCookies);
    }
}

From source file:webtest.Test1.java

public void runTest1() {

    List<String> ouList = new ArrayList<>();

    int count = 0;
    try {//from w  w w.  j a va 2 s  .  c o m
        BufferedReader in;
        in = new BufferedReader(
                new FileReader("C:\\Users\\hallm8\\Documents\\NetBeansProjects\\WebTest\\src\\webtest\\OU"));
        String str;

        while ((str = in.readLine()) != null) {
            ouList.add(str);
        }

    } catch (FileNotFoundException ex) {
        Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);
    }

    FirefoxProfile fp = new FirefoxProfile(
            new File("C:\\Users\\hallm8\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\tiu8eb0h.default"));
    fp.setPreference("webdriver.load.strategy", "unstable");
    WebDriver driver = new FirefoxDriver(fp);

    driver.manage().window().maximize();
    driver.get("http://byui.brightspace.com/d2l/login?noredirect=true");
    WebElement myDynamicElement = (new WebDriverWait(driver, 60))
            .until(ExpectedConditions.presenceOfElementLocated(By.id("d2l_minibar_placeholder")));

    // times out after 60 seconds
    Actions actions = new Actions(driver);
    for (String ouList1 : ouList) {
        WebDriverWait wait = new WebDriverWait(driver, 60);
        /**
         * PULLING VALENCE REQUESTS
         *
         * Step 1: Open up Selenium and authenticate by having the user sign
         * in. This bypasses the Authorization Protection
         *
         * Step 2: Open up HTTP Client and pass the cookies into it.
         *
         * Step 3: Open up the JSON parser of your choosing and parse into
         * it!
         */

        try {

            Set<Cookie> seleniumCookies = driver.manage().getCookies();
            CookieStore cookieStore = new BasicCookieStore();

            for (Cookie seleniumCookie : seleniumCookies) {
                BasicClientCookie basicClientCookie = new BasicClientCookie(seleniumCookie.getName(),
                        seleniumCookie.getValue());
                basicClientCookie.setDomain(seleniumCookie.getDomain());
                basicClientCookie.setExpiryDate(seleniumCookie.getExpiry());
                basicClientCookie.setPath(seleniumCookie.getPath());
                cookieStore.addCookie(basicClientCookie);
            }
            HttpClient httpClient = HttpClientBuilder.create().setDefaultCookieStore(cookieStore).build();
            HttpGet request = new HttpGet(
                    "https://byui.brightspace.com/d2l/api/le/1.7/" + ouList1 + "/content/toc");
            request.addHeader("accept", "application/json");
            HttpResponse response = httpClient.execute(request);
            HttpEntity entity = response.getEntity();

            String jsonString = EntityUtils.toString(response.getEntity());

            JSONObject obj = new JSONObject(jsonString);
            JSONArray modules = obj.getJSONArray("Modules");
            System.out.println(jsonString);

            for (int i = 0; i < modules.length(); i++) {
                if (modules.getJSONObject(i).has("Modules")) {
                    modules.put(modules.getJSONObject(i).getJSONArray("Modules"));
                }

                System.out.println(modules.get(i));
                JSONArray topics = modules.getJSONObject(i).getJSONArray("Topics");
                for (int j = 0; j < topics.length(); j++) {
                    JSONObject topic = topics.getJSONObject(j);
                    System.out.println(topic.get("Title"));
                }
            }
            JSONArray jsonArray = new JSONArray();
            JSONObject jsonObject = new JSONObject();

            /**
             * This covers Dropbox Folders
             *
             * System.out.println(ouList1);
             * driver.get("https://byui.brightspace.com/d2l/lms/dropbox/admin/folders_manage.d2l?ou="
             * + ouList1); driver.manage().timeouts().implicitlyWait(3,
             * TimeUnit.SECONDS);
             *
             * List<WebElement> links =
             * driver.findElements(By.xpath("//a[contains(@href,
             * '/d2l/lms/dropbox/admin/mark/')]"));
             *
             * ArrayList<String> dropBoxes = new ArrayList<>();
             *
             * System.out.println(links.size()); for (WebElement link :
             * links) {
             *
             * System.out.println(link.getAttribute("href")); if
             * (link.getAttribute("href") != null &&
             * link.getAttribute("href").contains("/d2l/lms/dropbox/admin/mark/"))
             * {
             * dropBoxes.add(link.getAttribute("href").replace("mark/folder_submissions_users",
             * "modify/folder_newedit_properties"));
             * System.out.println("successfully pulled: " +
             * link.getAttribute("href")); } }
             *
             * for (int j = 0; j < dropBoxes.size(); j++) { String dropBox =
             * dropBoxes.get(j); driver.get(dropBox);
             *
             * if (!driver.findElements(By.linkText("Show Submission
             * Options")).isEmpty()) { driver.findElement(By.linkText("Show
             * Submission Options")).click();
             * driver.manage().timeouts().implicitlyWait(1800,
             * TimeUnit.SECONDS); }
             *
             * if (driver.findElement(By.id("z_cd")).isSelected()) {
             * //((JavascriptExecutor)
             * driver).executeScript("arguments[0].scrollIntoView(true);",
             * driver.findElement(By.id("z_ce")));
             * actions.moveToElement(driver.findElement(By.id("z_ce"))).click().perform();
             * actions.moveToElement(driver.findElement(By.id("z_ci"))).click().perform();
             * driver.findElement(By.id("z_c")).click();
             * driver.manage().timeouts().implicitlyWait(3,
             * TimeUnit.SECONDS); } }
             *
             * // Response response = json.fromJson(, Response.class) /**
             * This covers content.
             */
            /*
            driver.get("https://byui.brightspace.com/d2l/le/content/9730/Home");
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                    
            List<WebElement> dragElement = driver.findElements(By.xpath("//div[contains(@id,'TreeItem')]//div[contains(@class, 'd2l-textblock')]"));
            /*
            for (int i = 4; i < dragElement.size(); i++) {
                    
            WebElement drag = dragElement.get(i);
                    
                    
            drag.click();
                    
            wait.until(ExpectedConditions.elementToBeClickable(drag));
            /*
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
            System.out.println(driver.findElement(By.xpath("//h1[contains(@class, 'd2l-page-title d2l-heading vui-heading-1')]")).getText());
            (new WebDriverWait(driver, 60)).until(new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver d) {
            return drag.getText().contains(d.findElement(By.xpath("//h1[contains(@class, 'd2l-page-title d2l-heading vui-heading-1')]")).getText());
            }
            });
                    
                    
            try {
            // while the following loop runs, the DOM changes -
            // page is refreshed, or element is removed and re-added
            // This took me forever to figure out!!!
            Thread.sleep(2000);
            } catch (InterruptedException ex) {
            Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);
            }
                    
                    
            List<WebElement> contentItems = driver.findElements(By.className("d2l-fuzzydate"));
                    
            for (int k = 1; k < contentItems.size(); k++) {
            WebElement content = contentItems.get(k);
            wait.until(presenceOfElementLocated(By.className(content.getAttribute("class"))));
            WebElement parent1 = content.findElement(By.xpath(".."));
            System.out.println(parent1.getTagName());
            WebElement parent2 = parent1.findElement(By.xpath(".."));
            System.out.println(parent2.getTagName());
            WebElement parent3 = parent2.findElement(By.xpath(".."));
            System.out.println(parent3.getTagName());
            WebElement parent4 = parent3.findElement(By.xpath(".."));
            System.out.println(parent4.getTagName());
            WebElement parent5 = parent4.findElement(By.xpath(".."));
            System.out.println(parent5.getTagName());
            WebElement parent6 = parent5.findElement(By.xpath(".."));
            System.out.println(parent6.getTagName());
            //System.out.println(parent5.getText());
            System.out.println(parent6.getAttribute("title"));
            }
                    
            }
             */
            /**
             * This covers quizzes
             */
            /*
            driver.get("https://byui.brightspace.com/d2l/lms/quizzing/admin/quizzes_manage.d2l?ou=" + ouList1);
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                    
            List<WebElement> links = driver.findElements(By.className("vui-outline"));
                    
            ArrayList<String> quizzes = new ArrayList<>();
                    
            for (WebElement link : links) {
            if (link.getAttribute("href") != null && link.getAttribute("href").contains("byui.brightspace.com/d2l/lms/quizzing/admin/modify")) {
            quizzes.add(link.getAttribute("href"));
            System.out.println("successfully pulled: " + link.getAttribute("href"));
                    
            }
            }
                    
            for (int j = 0; j < quizzes.size(); j++) {
            String quiz = quizzes.get(j);
            boolean isLA = false;
            driver.get(quiz);
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                    
            if (!driver.findElements(By.linkText("Expand optional advanced properties")).isEmpty()) {
            driver.findElement(By.linkText("Expand optional advanced properties")).click();
            driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
                    
            }
                    
            if (driver.findElement(By.name("disableRightClick")).isSelected()) {
            ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", driver.findElement(By.name("disableRightClick")));
            driver.findElement(By.name("disableRightClick")).click();
            driver.findElement(By.id("z_b")).click();
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
            count++;
            }
                    
            List<WebElement> labels = driver.findElements(By.tagName("label"));
            for (WebElement label : labels) {
            if (label.getText().contains("LA")) {
            isLA = true;
            break;
            }
            }
                    
            driver.findElement(By.id("z_h_Assessment_l")).click();
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                    
            if (driver.findElement(By.name("autoExportGrades")).isSelected()
            && isLA == true) {
            driver.findElement(By.name("autoExportGrades")).click();
            count++;
            }
                    
            if (driver.findElement(By.name("autoSetGraded")).isSelected()
            && isLA == true) {
            driver.findElement(By.name("autoSetGraded")).click();
            count++;
            }
                    
            if (!driver.findElement(By.name("autoSetGraded")).isSelected()
            && isLA == false) {
            driver.findElement(By.name("autoSetGraded")).click();
            count++;
                    
            }
                    
            if (!driver.findElement(By.name("autoExportGrades")).isSelected()
            && isLA == false) {
            driver.findElement(By.name("autoExportGrades")).click();
            count++;
            }
                    
            driver.findElement(By.id("z_b")).click();
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                    
            System.out.println("count is: " + count);
                    
            /**
            *
            * Submission Views
            *
             */
            /*
                           driver.findElement(By.linkText("Submission Views")).click();
                           driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                                   
                           driver.findElement(By.linkText("Default View")).click();
                           driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                                   
                           if (!driver.findElement(By.name("showQuestions")).isSelected()) {
                           System.out.println("show answers clicked!!!  URL: " + quiz);
                           driver.findElement(By.name("showQuestions")).click();
                           }
                                   
                           if (!driver.findElement(By.id("z_p")).isSelected()) {
                           driver.findElement(By.id("z_p")).click();
                           }
                           if (!driver.findElement(By.name("showCorrectAnswers")).isSelected()) {
                           driver.findElement(By.name("showCorrectAnswers")).click();
                           }
                           if (!driver.findElement(By.name("showQuestionScore")).isSelected()) {
                           driver.findElement(By.name("showQuestionScore")).click();
                           }
                           if (!driver.findElement(By.name("showScore")).isSelected()) {
                           driver.findElement(By.name("showScore")).click();
                           }
                                   
                           driver.findElement(By.id("z_a")).click();
                            */
            //}
            /**
             * This covers content.
             */
            /*
            driver.get("https://byui.brightspace.com/d2l/le/content/9730/Home");
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                    
            List<WebElement> dragElement = driver.findElements(By.xpath("//div[contains(@id,'TreeItem')]//div[contains(@class, 'd2l-textblock')]"));
            /*
            for (int i = 4; i < dragElement.size(); i++) {
                    
            WebElement drag = dragElement.get(i);
                    
                    
            drag.click();
                    
            wait.until(ExpectedConditions.elementToBeClickable(drag));
            /*
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
            System.out.println(driver.findElement(By.xpath("//h1[contains(@class, 'd2l-page-title d2l-heading vui-heading-1')]")).getText());
            (new WebDriverWait(driver, 60)).until(new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver d) {
            return drag.getText().contains(d.findElement(By.xpath("//h1[contains(@class, 'd2l-page-title d2l-heading vui-heading-1')]")).getText());
            }
            });
                    
                    
            try {
            // while the following loop runs, the DOM changes -
            // page is refreshed, or element is removed and re-added
            // This took me forever to figure out!!!
            Thread.sleep(2000);
            } catch (InterruptedException ex) {
            Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);
            }
                    
                    
            List<WebElement> contentItems = driver.findElements(By.className("d2l-fuzzydate"));
                    
            for (int k = 1; k < contentItems.size(); k++) {
            WebElement content = contentItems.get(k);
            wait.until(presenceOfElementLocated(By.className(content.getAttribute("class"))));
            WebElement parent1 = content.findElement(By.xpath(".."));
            System.out.println(parent1.getTagName());
            WebElement parent2 = parent1.findElement(By.xpath(".."));
            System.out.println(parent2.getTagName());
            WebElement parent3 = parent2.findElement(By.xpath(".."));
            System.out.println(parent3.getTagName());
            WebElement parent4 = parent3.findElement(By.xpath(".."));
            System.out.println(parent4.getTagName());
            WebElement parent5 = parent4.findElement(By.xpath(".."));
            System.out.println(parent5.getTagName());
            WebElement parent6 = parent5.findElement(By.xpath(".."));
            System.out.println(parent6.getTagName());
            //System.out.println(parent5.getText());
            System.out.println(parent6.getAttribute("title"));
            }
                    
            }
             */
            /**
             * This covers quizzes
             */
            /*
            driver.get("https://byui.brightspace.com/d2l/lms/quizzing/admin/quizzes_manage.d2l?ou=" + ouList1);
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
            System.out.println("Opening OU# " + ouList1);
            wait.until(ExpectedConditions.elementToBeClickable(By.className("d2l-tool-areas")));
                    
            List<WebElement> links = driver.findElements(By.xpath("//a[contains(@href,'/d2l/lms/quizzing/admin/modify/quiz_newedit_properties.d2l?qi=')]"));
            System.out.println("viu outline obtained");
                    
            ArrayList<String> quizzes = new ArrayList<>();
                    
            System.out.println(links.size());
                    
            for (WebElement link : links) {
            if (link.getAttribute("href") != null && link.getAttribute("href").contains("byui.brightspace.com/d2l/lms/quizzing/admin/modify")) {
            quizzes.add(link.getAttribute("href"));
            System.out.println("successfully pulled: " + link.getAttribute("href"));
            }
            }
            System.out.println(quizzes.size());
                    
            for (int j = 0; j < quizzes.size(); j++) {
            String quiz = quizzes.get(j);
            boolean isLA = false;
            driver.get(quiz);
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                    
            if (!driver.findElements(By.linkText("Expand optional advanced properties")).isEmpty()) {
            driver.findElement(By.linkText("Expand optional advanced properties")).click();
            driver.manage().timeouts().implicitlyWait(1800, TimeUnit.SECONDS);
                    
            }
                    
            wait.until(ExpectedConditions.elementToBeClickable(By.name("disableRightClick")));
            if (driver.findElement(By.name("disableRightClick")).isSelected()) {
            driver.findElement(By.name("disableRightClick")).click();
            driver.findElement(By.id("z_b")).click();
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
            count++;
            }
                    
            List<WebElement> longAnswer = driver.findElements(By.xpath("//label[contains(.,'LA')]"));
            if (longAnswer.size() > 0) {
            isLA = true;
            }
                    
            quiz = quiz.replace("/quiz_newedit_properties", "/quiz_newedit_assessment");
            driver.get(quiz);
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                    
            wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.name("autoExportGrades")));
            if (driver.findElement(By.name("autoExportGrades")).isSelected()
                && isLA == true) {
            driver.findElement(By.name("autoExportGrades")).click();
            count++;
            }
                    
            wait.until(ExpectedConditions.elementToBeClickable(By.name("autoSetGraded")));
            if (driver.findElement(By.name("autoSetGraded")).isSelected()
                && isLA == true) {
            driver.findElement(By.name("autoSetGraded")).click();
            count++;
            }
                    
            wait.until(ExpectedConditions.elementToBeClickable(By.name("autoSetGraded")));
            if (!driver.findElement(By.name("autoSetGraded")).isSelected()
                && isLA == false) {
            driver.findElement(By.name("autoSetGraded")).click();
            count++;
                    
            }
                    
            wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.name("autoExportGrades")));
            if (!driver.findElement(By.name("autoExportGrades")).isSelected()
                && isLA == false) {
            driver.findElement(By.name("autoExportGrades")).click();
            count++;
            }
                    
            wait.until(ExpectedConditions.elementToBeClickable(By.id("z_b")));
            driver.findElement(By.id("z_b")).click();
            driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                    
            System.out.println("count is: " + count);
                    
            /**
             *
             * Submission Views
             *
             */
            /*
                           driver.findElement(By.linkText("Submission Views")).click();
                           driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                                   
                           driver.findElement(By.linkText("Default View")).click();
                           driver.manage().timeouts().pageLoadTimeout(1800, TimeUnit.SECONDS);
                                   
                           if (!driver.findElement(By.name("showQuestions")).isSelected()) {
                           System.out.println("show answers clicked!!!  URL: " + quiz);
                           driver.findElement(By.name("showQuestions")).click();
                           }
                                   
                           if (!driver.findElement(By.id("z_p")).isSelected()) {
                           driver.findElement(By.id("z_p")).click();
                           }
                           if (!driver.findElement(By.name("showCorrectAnswers")).isSelected()) {
                           driver.findElement(By.name("showCorrectAnswers")).click();
                           }
                           if (!driver.findElement(By.name("showQuestionScore")).isSelected()) {
                           driver.findElement(By.name("showQuestionScore")).click();
                           }
                           if (!driver.findElement(By.name("showScore")).isSelected()) {
                           driver.findElement(By.name("showScore")).click();
                           }
                                   
                           driver.findElement(By.id("z_a")).click();
                            */
            //}
            /**
             * End of FOR LOOP stub
             */
        } catch (IOException ex) {
            Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

}