Example usage for org.openqa.selenium By partialLinkText

List of usage examples for org.openqa.selenium By partialLinkText

Introduction

In this page you can find the example usage for org.openqa.selenium By partialLinkText.

Prototype

public static By partialLinkText(String partialLinkText) 

Source Link

Usage

From source file:com.dukescript.api.selenium.FindsByTest.java

License:Open Source License

@Test
public void Element_findElementsByPartialLinkText() {
    WebElement links = driver.findElement(By.id("links"));
    List<WebElement> findElements = links.findElements(By.partialLinkText("Text"));
    Assert.assertEquals(2, findElements.size());
    findElements = links.findElements(By.partialLinkText("Other link"));
    Assert.assertEquals(2, findElements.size());
    findElements = links.findElements(By.partialLinkText("link"));
    Assert.assertEquals(4, findElements.size());
}

From source file:com.ecfeed.core.runner.java.SeleniumTestMethodInvoker.java

License:Open Source License

private WebElement findWebElementBy(String findByType, String findByValue) {

    checkWebDriver();/*from   w w  w. j  a  va 2s  .co  m*/

    if (NodePropertyDefFindByType.isId(findByType)) {
        return fDriver.findElement(By.id(findByValue));
    }

    if (NodePropertyDefFindByType.isClassName(findByType)) {
        return fDriver.findElement(By.className(findByValue));
    }

    if (NodePropertyDefFindByType.isTagName(findByType)) {
        return fDriver.findElement(By.tagName(findByValue));
    }

    if (NodePropertyDefFindByType.isTagName(findByType)) {
        return fDriver.findElement(By.tagName(findByValue));
    }

    if (NodePropertyDefFindByType.isName(findByType)) {
        return fDriver.findElement(By.name(findByValue));
    }

    if (NodePropertyDefFindByType.isLinkText(findByType)) {
        return fDriver.findElement(By.linkText(findByValue));
    }

    if (NodePropertyDefFindByType.isPartialLinkText(findByType)) {
        return fDriver.findElement(By.partialLinkText(findByValue));
    }

    if (NodePropertyDefFindByType.isCssSelector(findByType)) {
        return fDriver.findElement(By.cssSelector(findByValue));
    }

    if (NodePropertyDefFindByType.isXPath(findByType)) {
        return fDriver.findElement(By.xpath(findByValue));
    }
    return null;
}

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

License:Open Source License

/**
 * Gets the changed password./* ww w  . j  a  v a 2  s .c om*/
 * @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 old mails./*  w  ww.ja  v a  2s.co  m*/
 * @param url the url
 * @param emailUserName the email user name
 * @param emailPassword the email password
 * @param subject the subject
 */
public void deleteOldMails(String url, String emailUserName, String emailPassword, String subject) {

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

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

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

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

    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) {
        DriverConfig.getDriver().findElement(By.id("gbgs4dn")).click();
    } else {
        WebElement signOutElement = DriverConfig.getDriver().findElement(By.partialLinkText(emailUserName));
        signOutElement.click();
    }
    smallWait();

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

    mediumWait();
    mediumWait();

}

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

License:Open Source License

/**
 * Delete first mail.//from  ww w.j  ava  2  s .  co m
 * @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./*  w  w w  . ja  v  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) {

    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 old mails.//w  ww.java2s  .c om
 * @param url the url
 * @param emailUserName the email user name
 * @param emailPassword the email password
 * @param subject the subject
 */
public void deleteOldMails(String url, String emailUserName, String emailPassword, String subject) {

    if (gmailDriver == null) {
        // driverConfig.loadDriver();
        gmailDriver = new ChromeDriver();
    }

    largeWait();
    DriverConfig.setLogString("Load Email portal URL.", true);
    DriverConfig.setLogString("URL : " + url, true);
    gmailDriver.navigate().to(url);
    // driver.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);
        gmailDriver.findElement(By.id("Email")).sendKeys(emailUserName);

        gmailDriver.findElement(By.id("Passwd")).sendKeys(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);
    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;
}

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

License:Open Source License

/**
 * Delete first mail.//from ww w.  ja  v  a2s  . com
 * @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.elastica.webelements.HtmlElement.java

License:Apache License

private By getLocatorBy(final String locator, final LocatorType locatorType) {
    switch (locatorType) {

    case ID://from  ww w  .ja v  a  2  s . co m
        return By.id(locator);

    case NAME:
        return By.name(locator);

    case CLASS_NAME:
        return By.className(locator);

    case LINK_TEXT:
        return By.linkText(locator);

    case PARTIAL_LINK_TEXT:
        return By.partialLinkText(locator);

    case CSS_SELECTOR:
        return By.cssSelector(locator);

    case TAG_NAME:
        return By.tagName(locator);

    default:
        return By.xpath(locator);
    }
}

From source file:com.epam.jdi.uitests.mobile.appium.driver.WebDriverByUtils.java

License:Open Source License

public static By getByFromString(String stringLocator) {
    if (stringLocator == null || stringLocator.equals(""))
        throw new RuntimeException("Can't get By locator from string empty or null string");
    String[] split = stringLocator.split("(^=)*=.*");
    if (split.length == 1)
        return By.cssSelector(split[0]);
    switch (split[0]) {
    case "css":
        return By.cssSelector(split[1]);
    case "xpath":
        return By.xpath(split[1]);
    case "class":
        return By.className(split[1]);
    case "name":
        return By.name(split[1]);
    case "id":
        return By.id(split[1]);
    case "tag":
        return By.tagName(split[1]);
    case "link":
        return By.partialLinkText(split[1]);
    default://from w  w  w. ja  va2s .c o m
        throw new RuntimeException(String.format(
                "Can't get By locator from string: %s. Bad suffix: %s. (available: css, xpath, class, id, name, link, tag)",
                stringLocator, split[0]));
    }
}