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:org.ops4j.pax.shiro.itest.osgi.Jetty9FacesBundleTest.java

License:Apache License

@Test
public void shouldNotRememberMeWithoutCookie() throws Exception {

    webDriver.get(getBaseUri() + "login.jsf");
    webDriver.findElement(By.name("login:username")).sendKeys("root");
    webDriver.findElement(By.name("login:password")).sendKeys("secret");
    webDriver.findElement(By.name("login:rememberMe")).click();
    webDriver.findElement(By.name("login:submit")).click();

    Cookie cookie = webDriver.manage().getCookieNamed("rememberMe");
    assertThat(cookie, is(notNullValue()));
    webDriver.close();/*  ww w  .  java2s. co m*/

    webDriver = new HtmlUnitDriver();
    webDriver.get(getBaseUri());

    thrown.expect(NoSuchElementException.class);
    webDriver.findElement(By.partialLinkText("Log out"));
}

From source file:org.ops4j.pax.shiro.test.AbstractHtmlUnitContainerTest.java

License:Apache License

@Before
public void logOut() throws IOException {
    // Make sure we are logged out
    webDriver.get(getBaseUri());/*from   www . j  a v a  2  s.  c o  m*/
    try {
        webDriver.findElement(By.partialLinkText("Log out")).click();
    } catch (NoSuchElementException e) {
        //Ignore
    }
}

From source file:org.ops4j.pax.shiro.test.HtmlUnitFacesTest.java

License:Apache License

@Test
public void logIn() {
    logIn("root", "secret");

    // This'll throw an expection if not logged in
    webDriver.findElement(By.partialLinkText("Log out"));
}

From source file:org.ops4j.pax.shiro.test.HtmlUnitFacesTest.java

License:Apache License

@Test
public void shouldRememberMeOnServerRestart() throws Exception {

    webDriver.get(getBaseUri() + "login.jsf");
    webDriver.findElement(By.name("login:username")).sendKeys("root");
    webDriver.findElement(By.name("login:password")).sendKeys("secret");
    webDriver.findElement(By.name("login:rememberMe")).click();
    webDriver.findElement(By.name("login:submit")).click();

    server.stop();//ww w .  j a  v  a2 s .c  o m
    server.start();

    webDriver.get(getBaseUri());
    webDriver.findElement(By.partialLinkText("Log out"));

    webDriver.findElement(By.partialLinkText("account")).click();

    // login page should be shown again - user remembered but not authenticated
    webDriver.findElement(By.name("login:username"));

}

From source file:org.paxml.selenium.webdriver.SelectableTag.java

License:Open Source License

public void setSelector(String selector) {
    this.selector = selector;
    if (selector.startsWith("id:")) {
        by = By.id(selector.substring(3));
    } else if (selector.startsWith("xpath:")) {
        by = By.xpath(selector.substring(6));
    } else if (selector.startsWith("text:")) {
        by = By.xpath("//*[text()='" + selector.substring(5) + "']");
    } else if (selector.startsWith("css:")) {
        by = By.cssSelector(selector.substring(4));
    } else if (selector.startsWith("className:")) {
        by = By.className(selector.substring(10));
    } else if (selector.startsWith("name:")) {
        by = By.name(selector.substring(5));
    } else if (selector.startsWith("tag:")) {
        by = By.tagName(selector.substring(4));
    } else if (selector.startsWith("linkText:")) {
        by = By.linkText(selector.substring(9));
    } else if (selector.startsWith("partialLinkText:")) {
        by = By.partialLinkText(selector.substring(16));
    } else if (selector.startsWith("javascript:")) {
        setJavascriptSelector(selector.substring(3));
    } else {// www. j  a v a2 s  .  c om
        // make a jQuery call that returns array, requires jQuery 1.4+
        String js = "return $('" + selector + "').toArray()";
        setJavascriptSelector(js);
    }
}

From source file:org.planotius.controller.functions.FindBy.java

public WebElement partialLinkText(String value) {
    WebElement element = null;/*from  w ww .  j  a  va  2s. co m*/
    try {
        element = driver.findElement(By.partialLinkText(value));
    } catch (NoSuchElementException nse) {
        return null;
    }
    return element;
}

From source file:org.powertools.web.WebDriverBrowser.java

License:Open Source License

@Override
public boolean clickLink(String text) {
    return click(By.partialLinkText(text));
}

From source file:org.powertools.web.WebDriverBrowser.java

License:Open Source License

private By getLocator(Item item) {
    if (item.mType != ItemType.cLink) {
        // continue
    } else if (item.mKeyType == KeyType.cText) {
        By locator = By.linkText(item.mValue);
        mRunTime.reportInfo("locator: " + locator.toString());
        return locator;
    } else if (item.mKeyType == KeyType.cPartialText) {
        By locator = By.partialLinkText(item.mValue);
        mRunTime.reportInfo("locator: " + locator.toString());
        return locator;
    }// w  w  w  .  ja v  a2  s  .c om
    return getLocator(item.mKeyType, item.getValue());
}

From source file:org.safs.selenium.webdriver.lib.SearchObject.java

License:Open Source License

/**
 * According to pair(qualifier, value), find the matched WebElement.<br>
 * Some qualifiers like "ID", can determine the WebElement uniquely and result<br>
 * only one WebElement; Other qualifiers may result several WebElement, the first<br>
 * one will be returned.<br>//from   w ww.j a  v  a2 s  .  c om
 *
 * @param sc SearchContext, the search context, it is normally a WebElement.
 * @param qualifier String, the qualifier like xpath, css, id, name, link etc.
 * @param value String, the value of a qualifier.
 * @return SearchContext, the WebElment found according to qualifier and its value.
 * @throws SeleniumPlusException
 */
protected static SearchContext getObjectByQualifier(SearchContext sc, String qualifier, String value)
        throws SeleniumPlusException {
    SearchContext result = null;
    String qualifierUC = null;

    if (qualifier == null) {
        throw new SeleniumPlusException("ignore null qualifier.");
    } else {
        qualifierUC = qualifier.toUpperCase();
    }

    try {

        if (SEARCH_CRITERIA_XPATH.equals(qualifierUC)) {
            result = sc.findElement(By.xpath(value));

        } else if (SEARCH_CRITERIA_CSS.equals(qualifierUC)) {
            result = sc.findElement(By.cssSelector(value));

        } else if (SEARCH_CRITERIA_TAG.equals(qualifierUC)) {
            result = sc.findElement(By.tagName(value));
        } else {
            boolean partialMatch = qualifierUC.endsWith(SEARCH_CRITERIA_CONTAINS_SUFFIX);

            //The following qualifiers will support suffix "Contains":
            //idContains, classContains, nameContains, linkContains, textContains, titleContains, iframeidContains
            if (SEARCH_CRITERIA_ID.equals(qualifierUC)) {
                result = sc.findElement(By.id(value));

            } else if (SEARCH_CRITERIA_CLASS.equals(qualifierUC)) {
                result = sc.findElement(By.className(value));

            } else if (SEARCH_CRITERIA_NAME.equals(qualifierUC)) {
                result = sc.findElement(By.name(value));

            } else if (SEARCH_CRITERIA_LINK.equals(qualifierUC)) {
                result = sc.findElement(By.linkText(value));

            } else if (SEARCH_CRITERIA_PARTIALLINK.equals(qualifierUC)
                    || (SEARCH_CRITERIA_LINK + SEARCH_CRITERIA_CONTAINS_SUFFIX).equals(qualifierUC)) {
                result = sc.findElement(By.partialLinkText(value));

            } else if (qualifierUC.startsWith(SEARCH_CRITERIA_TEXT)) {
                result = getObjectByText(sc, value, partialMatch);

            } else if (qualifierUC.startsWith(SEARCH_CRITERIA_TITLE)) {
                result = getObjectByTitle(sc, value, partialMatch);

            } else if (qualifierUC.startsWith(SEARCH_CRITERIA_IFRAMEID)) {
                result = sc
                        .findElement(By.xpath("//iframe[" + XPATH.condition("id", value, partialMatch) + "]"));

            } else if (partialMatch) {
                //idContains, classContains, nameContains will be supported here.
                result = sc.findElement(By.xpath(XPATH.RELATIVE_MATCHING_ALL_START
                        + XPATH.conditionContains(qualifier, value) + XPATH.END));

            } else {
                throw new SeleniumPlusException(
                        "ignore unknown qualifier '" + qualifierUC + "', value='" + value + "'");
            }
        }
    } catch (Exception e) {
        if (e instanceof SeleniumPlusException)
            throw (SeleniumPlusException) e;
        IndependantLog.error(StringUtils.debugmsg(false) + " met " + StringUtils.debugmsg(e));
    }

    return result;
}

From source file:org.safs.selenium.webdriver.lib.SearchObject.java

License:Open Source License

/**
 * According to pair(qualifier, value), find all matching WebElements.<br>
 * Some qualifiers like "ID", can determine the WebElement uniquely and result<br>
 * only one WebElement; Other qualifiers may result in several WebElements.<br>
 *
 * @param sc SearchContext, the search context, it is normally a WebElement.
 * @param qualifier String, the qualifier like xpath, css, id, name, link etc.
 * @param value String, the value of a qualifier.
 * @return List&lt;WebElement> 0 or more
 * @throws SeleniumPlusException/*  ww  w  .j a  va 2 s . c o  m*/
 */
protected static List<WebElement> getObjectsByQualifier(SearchContext sc, String qualifier, String value)
        throws SeleniumPlusException {
    List<WebElement> result = new ArrayList<WebElement>();
    ;
    String qualifierUC = null;

    if (qualifier == null) {
        throw new SeleniumPlusException("ignore null qualifier.");
    } else {
        qualifierUC = qualifier.toUpperCase();
    }

    try {

        if (SEARCH_CRITERIA_XPATH.equals(qualifierUC)) {
            result = sc.findElements(By.xpath(value));

        } else if (SEARCH_CRITERIA_CSS.equals(qualifierUC)) {
            result = sc.findElements(By.cssSelector(value));

        } else if (SEARCH_CRITERIA_TAG.equals(qualifierUC)) {
            result = sc.findElements(By.tagName(value));
        } else {
            boolean partialMatch = qualifierUC.endsWith(SEARCH_CRITERIA_CONTAINS_SUFFIX);

            //The following qualifiers will support suffix "Contains":
            //idContains, classContains, nameContains, linkContains, textContains, titleContains, iframeidContains
            if (SEARCH_CRITERIA_ID.equals(qualifierUC)) {
                result = sc.findElements(By.id(value));

            } else if (SEARCH_CRITERIA_CLASS.equals(qualifierUC)) {
                result = sc.findElements(By.className(value));

            } else if (SEARCH_CRITERIA_NAME.equals(qualifierUC)) {
                result = sc.findElements(By.name(value));

            } else if (SEARCH_CRITERIA_LINK.equals(qualifierUC)) {
                result = sc.findElements(By.linkText(value));

            } else if (SEARCH_CRITERIA_PARTIALLINK.equals(qualifierUC)
                    || (SEARCH_CRITERIA_LINK + SEARCH_CRITERIA_CONTAINS_SUFFIX).equals(qualifierUC)) {
                result = sc.findElements(By.partialLinkText(value));

            } else if (qualifierUC.startsWith(SEARCH_CRITERIA_TEXT)) {
                result = getObjectsByText(sc, value, partialMatch);

            } else if (qualifierUC.startsWith(SEARCH_CRITERIA_TITLE)) {
                result = getObjectsByTitle(sc, value, partialMatch);

            } else if (qualifierUC.startsWith(SEARCH_CRITERIA_IFRAMEID)) {
                result = sc
                        .findElements(By.xpath("//iframe[" + XPATH.condition("id", value, partialMatch) + "]"));

            } else if (partialMatch) {
                //idContains, classContains, nameContains will be supported here.
                result = sc.findElements(By.xpath(XPATH.RELATIVE_MATCHING_ALL_START
                        + XPATH.conditionContains(qualifier, value) + XPATH.END));

            } else {
                throw new SeleniumPlusException(
                        "ignore unknown qualifier '" + qualifierUC + "', value='" + value + "'");
            }
        }
    } catch (Exception e) {
        if (e instanceof SeleniumPlusException)
            throw (SeleniumPlusException) e;
        IndependantLog.error(StringUtils.debugmsg(false) + " met " + StringUtils.debugmsg(e));
    }

    return result;
}