Example usage for org.openqa.selenium WebElement findElements

List of usage examples for org.openqa.selenium WebElement findElements

Introduction

In this page you can find the example usage for org.openqa.selenium WebElement findElements.

Prototype

@Override
List<WebElement> findElements(By by);

Source Link

Document

Find all elements within the current context using the given mechanism.

Usage

From source file:com.ecofactor.qa.automation.insite.page.SupportLookUpImpl.java

License:Open Source License

/**
 * Click top first user.// w  ww  .j  a va 2  s . co  m
 * @see com.ecofactor.qa.automation.insite.page.SupportLookUp#clickTopFirstUser()
 */
@Override
public void clickTopFirstUser() {

    DriverConfig.setLogString("Click Top First User", true);
    WebElement tagTable = retrieveElementByAttributeValue(DriverConfig.getDriver(), "table", "id", "user");
    WebElement tagTbody = tagTable.findElement(By.tagName("tbody"));
    List<WebElement> resultTr = tagTbody.findElements(By.tagName("tr"));
    boolean lookUpFound = false;
    for (WebElement trElement : resultTr) {
        List<WebElement> resultTd = trElement.findElements(By.tagName("td"));

        for (WebElement td : resultTd) {

            Assert.assertFalse(td.getText().isEmpty(), "Search result is empty");

            logger.info("name link: " + td.getText());
            td.findElement(By.tagName(TAG_ANCHOR)).click();
            smallWait();
            DriverConfig.setLogString("Verify istalled harware menu is displyed.", true);
            WebElement accountDetails = DriverConfig.getDriver()
                    .findElement(By.id("supportPage-accountDetails"));
            Assert.assertTrue(accountDetails.isDisplayed(), "Account details is not displayed");
            lookUpFound = true;
            break;

        }
        if (lookUpFound)
            break;
    }

}

From source file:com.ecofactor.qa.automation.insite.page.SupportLookUpImpl.java

License:Open Source License

/**
 * Check for top first user.//  ww  w. j  a va 2 s  .  c  o m
 * @param searchName the search name
 * @return true, if successful
 * @see com.ecofactor.qa.automation.insite.page.SupportLookUp#checkForTopFirstUser()
 */
@Override
public boolean checkForTopFirstUser(final String searchName) {

    DriverConfig.setLogString("Check Top First User", true);
    WebElement tagTable = retrieveElementByAttributeValue(DriverConfig.getDriver(), "table", "id", "user");
    WebElement tagTbody = tagTable.findElement(By.tagName("tbody"));
    List<WebElement> resultTr = tagTbody.findElements(By.tagName("tr"));

    for (WebElement trElement : resultTr) {
        List<WebElement> resultTd = trElement.findElements(By.tagName("td"));

        for (@SuppressWarnings("unused")
        WebElement td : resultTd) {

            isDisplayedByTagName(DriverConfig.getDriver(), TAG_ANCHOR, SHORT_TIMEOUT);
            smallWait();
            // DriverConfig.setLogString("Verify istalled harware menu is displyed.", true);
            break;
        }
    }
    logger.info("Top First User : " + searchName);
    return true;
}

From source file:com.ecofactor.qa.automation.insite.page.UserManagementImpl.java

License:Open Source License

/**
 * Iterate first page and verify nve user.
 * @param partnerId the partner id/*from   w ww .j a va  2  s .c  o m*/
 * @see com.ecofactor.qa.automation.insite.page.UserManagement#iterateFirstPageAndVerifyNVEUser(int)
 */
@Override
public void iterateFirstPageAndVerifyNVEUser(final int partnerId) {

    DriverConfig.setLogString("Iterate Search Results", true);
    final List<WebElement> resultElements = DriverConfig.getDriver().findElements(By.id("user"));
    for (final WebElement webElement : resultElements) {
        final List<WebElement> userInfo = webElement.findElements(By.className("userinfo"));
        Assert.assertTrue(!userInfo.get(2).getText().trim().isEmpty(), "Userinfo is different");
        final String userName = userInfo.get(2).getText().trim();
        logger.info("userPartnerId: " + userName);
        final int userPartnerId = partnerAccountUserDao.getPartnerAccountByAccessLogin(userName);
        logger.info("userPartnerId: " + userName + ":" + userPartnerId);
        Assert.assertTrue(userPartnerId == partnerId, "User partnerId is different");
    }
}

From source file:com.ecofactor.qa.automation.platform.util.Pageutil.java

License:Open Source License

/**
 * Gets the elements by sub element.//  w w  w . j  a v  a2  s  . c o m
 * @param driver the driver
 * @param subElement the sub element
 * @param locator the locator
 * @param timeout the timeout
 * @return the elements by sub element
 */
public static List<WebElement> getElementsBySubElement(final WebDriver driver, final WebElement subElement,
        final By locator, final CustomTimeout timeout) {

    return new WebDriverWait(driver, timeout.getValue()).until(new ExpectedCondition<List<WebElement>>() {
        public List<WebElement> apply(final WebDriver driver) {

            return subElement.findElements(locator);
        }
    });
}

From source file:com.ecofactor.qa.automation.qtc.page.TaskPageImpl.java

License:Open Source License

/**
 * Click next2.// w w w.java 2s  . c o m
 * @see com.ecofactor.qa.automation.qtc.page.TaskPage#clickNext2()
 */
public void clickNext2() {

    DriverConfig.setLogString("Click Next", true);

    smallWait();

    WebElement taskContainer = DriverConfig.getDriver().findElement(By.id("taskConfigContainer"));

    List<WebElement> omput = taskContainer.findElements(By.tagName("input"));
    for (WebElement webElement : omput) {
        if (webElement.getAttribute(ATTR_VALUE).equalsIgnoreCase(taskConfig.get(NEXT))) {
            webElement.click();
            break;
        }
    }
}

From source file:com.ecofactor.qa.automation.util.mail.Gmail.java

License:Open Source License

/**
 * Gets the changed password./*from  w  w  w  . jav a 2  s. c o  m*/
 * @param url the url
 * @param emailUserName the email user name
 * @param emailPassword the email password
 * @param subject the subject
 * @param boldIndex the bold index
 * @param pwdIndex the pwd index
 * @return the changed password
 */
public String getChangedPassword(String url, String emailUserName, String emailPassword, String subject,
        int boldIndex, int pwdIndex) {

    WebDriver driver = DriverConfig.getDriver();
    if (DriverConfig.getDriver() == null) {
        driverConfig.loadDriver();
        driver = DriverConfig.getDriver();
    }

    String tempPassword = null;

    largeWait();
    DriverConfig.setLogString("Load Email portal URL at change password", true);
    driver.navigate().to(url + "" + emailUserName);
    largeWait();

    boolean session = isDisplayedById(driver, "Passwd", MEDIUM_TIMEOUT);
    if (session) {
        DriverConfig.setLogString(
                "Enter username and password for Email(" + emailUserName + "/" + emailPassword + ")", true);
        driver.findElement(By.id("Email")).sendKeys(emailUserName);
        driver.findElement(By.id("Passwd")).sendKeys(emailPassword);

        mediumWait();
        WebElement signInButtonElement = driver.findElement(By.id("signIn"));
        DriverConfig.setLogString("click Sign In button", true);
        signInButtonElement.click();
        largeWait();
        boolean button = isDisplayedById(driver, "no-button", MEDIUM_TIMEOUT);
        if (button) {
            WebElement buttonElement = driver.findElement(By.id("no-button"));
            buttonElement.click();
            mediumWait();
        }
    }

    isDisplayedByCSS(driver, ".aio.UKr6le", MEDIUM_TIMEOUT);
    DriverConfig.setLogString("Click Inbox.", true);
    WebElement inboxElement = DriverConfig.getDriver().findElement(By.partialLinkText("Inbox"));
    inboxElement.click();
    largeWait();

    DriverConfig.setLogString("Click Subject of Email.", true);
    WebElement webElement = driver.findElement(By.cssSelector(".ae4.UI.UJ"));
    List<WebElement> tagElement = webElement.findElements(By.tagName(TAG_BOLD));
    WebElement firstElement = tagElement.get(0);
    if (firstElement != null && firstElement.isDisplayed()
            && firstElement.getText().equalsIgnoreCase(subject)) {
        firstElement.click();
        largeWait();
    }

    DriverConfig.setLogString("Get temporary Password/activation link from Email.", true);
    if (boldIndex == 1) {
        WebElement divBodyElement = driver.findElement(By.xpath("//*[contains(@class,'adO')]"));
        if (pwdIndex == 1) {
            WebElement pwdElement = divBodyElement.findElements(By.tagName(TAG_STRONG)).get(0);
            tempPassword = pwdElement.getText();
            DriverConfig.setLogString("Temporary password got from email " + tempPassword, true);
        } else {
            WebElement pwdElement = divBodyElement.findElements(By.tagName(TAG_ANCHOR)).get(0);
            tempPassword = pwdElement.getText();
            DriverConfig.setLogString("Activation link got from email " + tempPassword, true);
        }
    } else if (boldIndex == 0) {
        DriverConfig.setLogString("Header Tag", true);
        WebElement divBodyElement = driver.findElement(By.className("gs"));
        List<WebElement> headerElement = divBodyElement.findElements(By.tagName("strong"));
        for (WebElement webelement : headerElement) {
            if (webelement.isDisplayed()) {
                tempPassword = webelement.getText();
                DriverConfig.setLogString("Temporary password got from email " + tempPassword, true);
            }
        }
    }
    mediumWait();

    deleteFirstMail(driver);

    DriverConfig.setLogString("Click user for Signout option", true);
    boolean value = isDisplayedById(DriverConfig.getDriver(), "gbgs4dn", MEDIUM_TIMEOUT);
    DriverConfig.setLogString("User name displayed for sign out : " + value, true);
    if (value) {
        driver.findElement(By.id("gbgs4dn")).click();
    } else {
        WebElement signOutElement = DriverConfig.getDriver().findElement(By.partialLinkText(emailUserName));
        signOutElement.click();
    }
    smallWait();

    DriverConfig.setLogString("Click Signout", true);
    driver.findElement(By.id("gb_71")).click();

    mediumWait();
    mediumWait();

    return tempPassword;
}

From source file:com.ecofactor.qa.automation.util.mail.Gmail.java

License:Open Source License

/**
 * Delete first mail./*from  ww w  .j a v  a 2 s. c om*/
 * @param driver the driver
 */
public void deleteFirstMail(WebDriver driver) {

    DriverConfig.setLogString("Delete First Mail", true);
    DriverConfig.setLogString("Click Inbox", true);
    WebElement inboxElement = DriverConfig.getDriver().findElement(By.partialLinkText("Inbox"));
    inboxElement.click();
    mediumWait();

    DriverConfig.setLogString("Click Subject of Email.", true);
    boolean subjectDisplayed = isDisplayedByCSS(driver, ".ae4.UI.UJ", MEDIUM_TIMEOUT);
    if (subjectDisplayed) {
        WebElement webElement1 = driver.findElement(By.cssSelector(".ae4.UI.UJ"));
        if (!webElement1.getText().contains("No new mail")) {

            WebElement firstElement2 = null;
            if (webElement1 != null && webElement1.findElements(By.tagName(TAG_BOLD)) != null
                    && webElement1.findElements(By.tagName(TAG_BOLD)).size() > 0) {
                firstElement2 = webElement1.findElements(By.tagName(TAG_BOLD)).get(0);
            } else {
                firstElement2 = webElement1.findElements(By.cssSelector("td.yX.xY")).get(0);
            }

            if (firstElement2 != null && firstElement2.isDisplayed()) {
                firstElement2.click();
                mediumWait();

                DriverConfig.setLogString("Delete the Email", true);
                if (driver.findElements(By.cssSelector("div.ar9.T-I-J3.J-J5-Ji")) != null
                        && driver.findElements(By.cssSelector("div.ar9.T-I-J3.J-J5-Ji")).size() == 2) {
                    DriverConfig.setLogString("Click delete old mails", true);
                    WebElement webElement2 = driver.findElements(By.cssSelector("div.ar9.T-I-J3.J-J5-Ji"))
                            .get(1);
                    webElement2.click();
                } else {
                    DriverConfig.setLogString("Click delete old mails", true);
                    smallWait();
                    WebElement webElement2 = driver.findElements(By.cssSelector("div.ar9.T-I-J3.J-J5-Ji"))
                            .get(1);
                    webElement2.click();
                }

                smallWait();
            }
        }

    }
}

From source file:com.ecofactor.qa.automation.util.mail.GmailForNewUser.java

License:Open Source License

/**
 * Gets the changed password./*from  ww  w  . jav a  2 s  . co  m*/
 * @param url the url
 * @param emailUserName the email user name
 * @param emailPassword the email password
 * @param subject the subject
 * @param boldIndex the bold index
 * @param pwdIndex the pwd index
 * @return the changed password
 */
public String getChangedPassword(String url, String emailUserName, String emailPassword, String subject,
        int boldIndex, int pwdIndex) {

    if (gmailDriver == null) {
        gmailDriver = new ChromeDriver();
    }

    String tempPassword = null;

    largeWait();
    DriverConfig.setLogString("Load Email portal URL at change password", true);
    DriverConfig.setLogString("URL : " + url + "" + emailUserName, true);
    gmailDriver.navigate().to(url + "" + emailUserName);
    largeWait();

    boolean session = isDisplayedById(gmailDriver, "Passwd", MEDIUM_TIMEOUT);
    if (session) {
        DriverConfig.setLogString(
                "Enter username and password for Email(" + emailUserName + "/" + emailPassword + ")", true);
        if (isDisplayedById(gmailDriver, "reauthEmail", SHORT_TIMEOUT)
                && gmailDriver.findElement(By.id("reauthEmail")).getText().equalsIgnoreCase(emailUserName)) {
            clearAndInput(gmailDriver, By.id("Passwd"), emailPassword);
        } else {
            clearAndInput(gmailDriver, By.id("Email"), emailUserName);
            clearAndInput(gmailDriver, By.id("Passwd"), emailPassword);
        }

        mediumWait();
        WebElement signInButtonElement = gmailDriver.findElement(By.id("signIn"));
        DriverConfig.setLogString("click Sign In button", true);
        signInButtonElement.click();
        largeWait();
        boolean button = isDisplayedById(gmailDriver, "no-button", MEDIUM_TIMEOUT);
        if (button) {
            WebElement buttonElement = gmailDriver.findElement(By.id("no-button"));
            buttonElement.click();
            mediumWait();
        }
    }

    isDisplayedByCSS(gmailDriver, ".aio.UKr6le", MEDIUM_TIMEOUT);
    DriverConfig.setLogString("Click Inbox.", true);
    WebElement inboxElement = gmailDriver.findElement(By.partialLinkText("Inbox"));
    inboxElement.click();
    largeWait();

    DriverConfig.setLogString("Click Subject of Email.", true);
    DriverConfig.setLogString("Subject of Email : " + subject, true);
    WebElement webElement = gmailDriver.findElement(By.cssSelector(".ae4.UI.UJ"));
    List<WebElement> tagElement = webElement.findElements(By.tagName(TAG_BOLD));
    WebElement firstElement = tagElement.get(0);
    if (firstElement != null && firstElement.isDisplayed()
            && firstElement.getText().equalsIgnoreCase(subject)) {
        firstElement.click();
        largeWait();
    }

    DriverConfig.setLogString("Get temporary Password/activation link from Email.", true);
    if (boldIndex == 1) {
        WebElement divBodyElement = gmailDriver.findElement(By.xpath("//*[contains(@class,'adO')]"));
        if (pwdIndex == 1) {
            WebElement pwdElement = divBodyElement.findElements(By.tagName(TAG_STRONG)).get(0);
            tempPassword = pwdElement.getText();
            DriverConfig.setLogString("Temporary password got from email " + tempPassword, true);
        } else {
            WebElement pwdElement = divBodyElement.findElements(By.tagName(TAG_ANCHOR)).get(0);
            tempPassword = pwdElement.getText();
            DriverConfig.setLogString("Activation link got from email " + tempPassword, true);
        }
    } else if (boldIndex == 0) {
        DriverConfig.setLogString("Header Tag", true);
        WebElement divBodyElement = gmailDriver.findElement(By.className("gs"));
        List<WebElement> headerElement = divBodyElement.findElements(By.tagName("strong"));
        for (WebElement webelement : headerElement) {
            if (webelement.isDisplayed()) {
                tempPassword = webelement.getText();
                DriverConfig.setLogString("Temporary password got from email " + tempPassword, true);
            }
        }
    }
    mediumWait();

    deleteFirstMail(gmailDriver);

    DriverConfig.setLogString("Click user for Signout option", true);
    boolean value = isDisplayedById(gmailDriver, "gbgs4dn", MEDIUM_TIMEOUT);
    DriverConfig.setLogString("User name displayed for sign out : " + value, true);
    if (value) {
        gmailDriver.findElement(By.id("gbgs4dn")).click();
    } else {
        WebElement signOutElement = gmailDriver.findElement(By.partialLinkText(emailUserName));
        signOutElement.click();
    }
    smallWait();

    DriverConfig.setLogString("Click Signout", true);
    gmailDriver.findElement(By.id("gb_71")).click();

    mediumWait();
    mediumWait();
    gmailDriver.close();
    gmailDriver.quit();
    gmailDriver = null;
    return tempPassword;
}

From source file:com.ecofactor.qa.automation.util.mail.GmailForNewUser.java

License:Open Source License

/**
 * Delete first mail.//w  w  w . j a  v  a  2 s  .c  o m
 * @param driver the driver
 */
public void deleteFirstMail(WebDriver driver) {

    DriverConfig.setLogString("Delete First Mail", true);
    DriverConfig.setLogString("Click Inbox", true);
    WebElement inboxElement = driver.findElement(By.partialLinkText("Inbox"));
    inboxElement.click();
    mediumWait();

    DriverConfig.setLogString("Click Subject of Email.", true);
    // boolean subjectDisplayed=isDisplayedByTagName(driver, TAG_BOLD, MEDIUM_TIMEOUT);
    boolean subjectDisplayed = isDisplayedByCSS(driver, ".ae4.UI.UJ", MEDIUM_TIMEOUT);
    if (subjectDisplayed) {
        WebElement webElement1 = driver.findElement(By.cssSelector(".ae4.UI.UJ"));
        // WebElement webElement1 = driver.findElement(By.xpath(".//*[span]"));
        if (!webElement1.getText().contains("No new mail")) {

            WebElement firstElement2 = null;
            if (webElement1 != null && webElement1.findElements(By.tagName(TAG_BOLD)) != null
                    && webElement1.findElements(By.tagName(TAG_BOLD)).size() > 0) {
                firstElement2 = webElement1.findElements(By.tagName(TAG_BOLD)).get(0);
            } else {
                firstElement2 = webElement1.findElements(By.cssSelector("td.yX.xY")).get(0);
            }

            if (firstElement2 != null && firstElement2.isDisplayed()) {
                firstElement2.click();
                mediumWait();

                DriverConfig.setLogString("Delete the Email", true);
                if (driver.findElements(By.cssSelector("div.ar9.T-I-J3.J-J5-Ji")) != null
                        && driver.findElements(By.cssSelector("div.ar9.T-I-J3.J-J5-Ji")).size() == 2) {
                    DriverConfig.setLogString("Click delete old mails", true);
                    WebElement webElement2 = driver.findElements(By.cssSelector("div.ar9.T-I-J3.J-J5-Ji"))
                            .get(1);
                    webElement2.click();
                } else {
                    DriverConfig.setLogString("Click delete old mails", true);
                    smallWait();
                    WebElement webElement2 = driver.findElements(By.cssSelector("div.ar9.T-I-J3.J-J5-Ji"))
                            .get(1);
                    webElement2.click();
                }

                smallWait();
            }
        }

    }

}

From source file:com.ecofactor.qa.automation.util.mail.OutlookMail.java

License:Open Source License

/**
 * Gets the changed password./*from  w ww  .  j a va2s.  c o  m*/
 * @param driver the driver
 * @param url the url
 * @param emailUserName the email user name
 * @param emailPassword the email password
 * @param subject the subject
 * @param boldIndex the bold index
 * @return the changed password
 */
public String getChangedPassword(String url, String emailUserName, String emailPassword, String subject,
        int boldIndex) {

    WebDriver driver = driverConfig.getDriver();

    DriverConfig.setLogString("Load Email portal URL.", true);
    driver.navigate().to(url);
    largeWait();

    DriverConfig.setLogString("Enter Username/Password for Email.", true);
    driver.findElement(By.id("cred_userid_inputtext")).sendKeys(emailUserName);
    driver.findElement(By.id("cred_password_inputtext")).sendKeys(emailPassword);

    smallWait();
    DriverConfig.setLogString("Click Login.", true);
    WebElement signInButtonElement = driver.findElement(By.cssSelector("#cred_sign_in_button"));
    DriverConfig.setLogString("send keys to login", true);
    signInButtonElement.sendKeys(Keys.RETURN);
    largeWait();
    DriverConfig.setLogString("click btn", true);
    signInButtonElement.click();
    largeWait();

    DriverConfig.setLogString("Click Inbox.", true);
    WebElement outLookMenu = retrieveElementByTagText(driver, TAG_SPAN, "Outlook");
    if (outLookMenu != null && outLookMenu.isDisplayed()) {
        outLookMenu.click();
        mediumWait();
    }

    DriverConfig.setLogString("Click Subject of Email.", true);
    List<WebElement> subElements = retrieveElementsByTagText(driver, TAG_SPAN, subject);
    if (subElements.size() > 0) {
        subElements.get(0).click();
        mediumWait();
    }
    largeWait();

    DriverConfig.setLogString("Get temporary Password from Email.", true);
    WebElement divBodyElement = driver.findElement(By.id("Item.MessagePartBody"));
    mediumWait();
    WebElement pwdElement = divBodyElement.findElements(By.tagName(TAG_BOLD)).get(boldIndex);
    String tempPassword = pwdElement.getText();
    DriverConfig.setLogString("Temporary password got from email " + tempPassword, true);

    DriverConfig.setLogString("Click user for Signout option", true);
    WebElement menuElement = retrieveElementByAttributeValue(driver, TAG_BUTTON, ATTR_CLASS,
            "button _hl_2 _hl_e");
    menuElement.click();
    smallWait();

    DriverConfig.setLogString("Click Signout", true);
    WebElement signOut = retrieveElementByTagText(driver, TAG_SPAN, "sign out", MEDIUM_TIMEOUT);
    signOut.click();
    smallWait();

    return tempPassword;
}