Example usage for org.openqa.selenium By linkText

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

Introduction

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

Prototype

public static By linkText(String linkText) 

Source Link

Usage

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

License:Open Source License

@Test
public void Element_findByLinkText() {
    WebElement links = driver.findElement(By.id("links"));
    WebElement element = links.findElement(By.linkText("Text of link"));
    Assert.assertEquals("Text of link", element.getText());
}

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

License:Open Source License

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

From source file:com.easytox.automation.steps.addPhysicians.AddPhysiciansQuestSteps.java

@Given("^Locations should be available$")
public void locations_should_be_available() throws Throwable {
    driver.navigate().to(LAB_CLIENTS_LIST_URL);
    Thread.sleep(2000);/*from  w  ww  .  j  a v a2s . com*/
    driver.findElement(By.linkText(LAB_CLIENT));
}

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

License:Open Source License

private WebElement findWebElementBy(String findByType, String findByValue) {

    checkWebDriver();/* w  w w. j a v  a 2s  . c o  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.insite.page.DemandSideManagementImpl.java

License:Open Source License

/**
 * Create Event Method creates LS Event in a given LS Program. Start date ,
 * duration and mode (draft/save & schedule) for event creation are provided
 * as input .// ww w.ja  v  a 2s .com
 * 
 * @param pastEvent
 *            the past event
 * @param startDate
 *            the start date
 * @param duration
 *            the duration
 * @param mode
 *            the mode
 * @param precoolOpted
 *            the precool opted
 * @param groupName
 *            the group name
 * @return the string
 * @throws ParseException
 *             the parse exception
 */
public String createEvent(final boolean pastEvent, final String startDate, final String duration,
        final String mode, final boolean precoolOpted, String groupName) throws ParseException {

    DriverConfig.setLogString("Start create new event.", true);
    formatter = new SimpleDateFormat("yyyyMMddhhmmss");
    WaitUtil.waitUntil(18000);
    // WaitUtil.waitUntil(10000);
    isDisplayedById(DriverConfig.getDriver(), demandSideManagementConfig.get(EVENT_LIST_PAGE_FORM_NAME),
            SHORT_TIMEOUT);
    formElement = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(EVENT_LIST_PAGE_FORM_NAME)));
    DriverConfig.setLogString("click create new event link.", true);
    WebElement newEventLink = formElement.findElement(By.linkText(demandSideManagementConfig.get(NEW_EVENT)));
    newEventLink.click();

    inputEventName = "Test_" + formatter.format(new java.util.Date());
    inputEventDesc = "Description for Test_" + formatter.format(new java.util.Date());
    isDisplayedById(DriverConfig.getDriver(), demandSideManagementConfig.get(EVENT_CREATE_FORM_NAME),
            SHORT_TIMEOUT);

    newEventWizardForm = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(EVENT_CREATE_FORM_NAME)));
    WaitUtil.waitUntil(5000);
    DriverConfig.setLogString("find event name field.", true);
    WebElement eventName = newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_NAME)));
    DriverConfig.setLogString("Enter event name." + inputEventName, true);
    eventName.sendKeys(inputEventName);
    DriverConfig.setLogString("find event description field & send values to it.", true);
    newEventWizardForm.findElement(By.tagName(TAG_TEXTAREA)).sendKeys(inputEventDesc);
    DriverConfig.setLogString("Event Name provided :" + inputEventName, true);
    DriverConfig.setLogString("Event Desc provided :" + inputEventDesc, true);
    DriverConfig.setLogString("Event Start date provided :" + startDate, true);
    DriverConfig.setLogString("find start date field and enter start date.", true);
    newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(START_TIME))).clear();
    newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(START_TIME))).sendKeys(startDate);
    roleManagement.clickDone();
    DriverConfig.setLogString("find event duration field.", true);
    isFormDisplayedById(DriverConfig.getDriver(), newEventWizardForm,
            demandSideManagementConfig.get(EVENT_DURATION_ELEMENT), SHORT_TIMEOUT);
    DriverConfig.setLogString("select duration.", true);
    selectOptionByValue(newEventWizardForm, demandSideManagementConfig.get(EVENT_DURATION_ELEMENT), duration);
    DriverConfig.setLogString("Event Duration provided :" + duration + " minutes.", true);

    WaitUtil.waitUntil(1000);
    WebElement precoolOption = newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(PRECOOL)));

    newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_DURATION_ELEMENT))).click();
    DriverConfig.setLogString("select precool option if needed.", true);
    WaitUtil.waitUntil(SHORT_TIMEOUT);
    if (precoolOpted) {
        isFormElementClickableById(DriverConfig.getDriver(), demandSideManagementConfig.get(PRECOOL),
                MEDIUM_TIMEOUT);
        if (precoolOption.isSelected() == false)
            precoolOption.click();
    }
    smallWait();
    // DriverConfig.setLogString("Unselect the group for event.", true);
    // select groups
    WebElement selectGroupsForm = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(POPUP_FORM)));
    if (groupName != null) {
        DriverConfig.setLogString("select groups for event." + groupName, true);
        retrieveElementByAttributeValueByPassingElement(DriverConfig.getDriver(), selectGroupsForm, TAG_SPAN,
                ATTR_CLASS, demandSideManagementConfig.get(SELECT_GROUPS_CHECKBOX)).click();
        WebElement groupsTableElement = retrieveElementByAttributeValueByPassingElement(
                DriverConfig.getDriver(), selectGroupsForm, TAG_TBODY, ATTR_ID,
                demandSideManagementConfig.get(GROUP_LIST_TABLE));
        List<WebElement> groupRows = groupsTableElement.findElements(By.tagName("tr"));
        for (WebElement element : groupRows) {
            List<WebElement> groupColumns = element.findElements(By.tagName("td"));
            if (!groupColumns.isEmpty()) {
                WebElement checkBoxElement = groupColumns.get(0).findElement(By.tagName(TAG_INPUT));
                WebElement groupNameElement = groupColumns.get(1);
                if (groupNameElement.findElement(By.tagName(TAG_DIV)).getText().equalsIgnoreCase(groupName))
                    // select the group name check box
                    checkBoxElement.click();
            }
        }
    }
    // End Select groups
    DriverConfig.setLogString("Mode " + mode, true);
    smallWait();
    isFormDisplayedById(DriverConfig.getDriver(), newEventWizardForm,
            demandSideManagementConfig.get(EVENT_SAVE_BTN), MEDIUM_TIMEOUT);
    if (mode.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_TYPE_DRAFT))) {
        WaitUtil.waitUntil(SHORT_TIMEOUT);
        DriverConfig.setLogString("click draft button.", true);
        newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_SAVE_BTN))).click();
    } else if (mode.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_TYPE_SCHEDULED))) {
        WaitUtil.waitUntil(SHORT_TIMEOUT);
        DriverConfig.setLogString("click schedule button.", true);
        newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_SCHEDULED_BTN))).click();
    } else {
        smallWait();
        DriverConfig.setLogString("click cancel button.", true);
        newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_CANCEL_BTN))).click();
    }

    return inputEventName;
}

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

License:Open Source License

/**
 * Create Event Method creates LS Event in a given LS Program. Start date ,
 * duration and mode (draft/save & schedule) for event creation are provided
 * as input ./*  ww w  .  j  a v a2s .  co  m*/
 * 
 * @param pastEvent
 *            the past event
 * @param startDate
 *            the start date
 * @param duration
 *            the duration
 * @param mode
 *            the mode
 * @param precoolOpted
 *            the precool opted
 * @param groupName
 *            the group name
 * @return the string
 * @throws ParseException
 *             the parse exception
 */
public String createEventWithoutStartTime(final boolean pastEvent, final String startDate,
        final String duration, final String mode, final boolean precoolOpted, String groupName)
        throws ParseException {

    DriverConfig.setLogString("Start create new event.", true);
    formatter = new SimpleDateFormat("yyyyMMddhhmmss");
    WaitUtil.waitUntil(18000);
    // WaitUtil.waitUntil(10000);
    isDisplayedById(DriverConfig.getDriver(), demandSideManagementConfig.get(EVENT_LIST_PAGE_FORM_NAME),
            SHORT_TIMEOUT);
    formElement = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(EVENT_LIST_PAGE_FORM_NAME)));
    DriverConfig.setLogString("click create new event link.", true);
    WebElement newEventLink = formElement.findElement(By.linkText(demandSideManagementConfig.get(NEW_EVENT)));
    newEventLink.click();

    inputEventName = "Test_" + formatter.format(new java.util.Date());
    inputEventDesc = "Description for Test_" + formatter.format(new java.util.Date());
    isDisplayedById(DriverConfig.getDriver(), demandSideManagementConfig.get(EVENT_CREATE_FORM_NAME),
            SHORT_TIMEOUT);

    newEventWizardForm = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(EVENT_CREATE_FORM_NAME)));
    WaitUtil.waitUntil(5000);
    DriverConfig.setLogString("find event name field.", true);
    WebElement eventName = newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_NAME)));
    DriverConfig.setLogString("Enter event name." + inputEventName, true);
    eventName.sendKeys(inputEventName);
    DriverConfig.setLogString("find event description field & send values to it.", true);
    newEventWizardForm.findElement(By.tagName(TAG_TEXTAREA)).sendKeys(inputEventDesc);
    DriverConfig.setLogString("Event Name provided :" + inputEventName, true);
    DriverConfig.setLogString("Event Desc provided :" + inputEventDesc, true);
    DriverConfig.setLogString("Event Start date provided :" + startDate, true);
    DriverConfig.setLogString("find start date field and enter start date.", true);
    newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(START_TIME))).clear();
    newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(START_TIME))).sendKeys(startDate);
    roleManagement.clickDone();
    DriverConfig.setLogString("find event duration field.", true);
    isFormDisplayedById(DriverConfig.getDriver(), newEventWizardForm,
            demandSideManagementConfig.get(EVENT_DURATION_ELEMENT), SHORT_TIMEOUT);
    DriverConfig.setLogString("select duration.", true);
    selectOptionByValue(newEventWizardForm, demandSideManagementConfig.get(EVENT_DURATION_ELEMENT), duration);
    DriverConfig.setLogString("Event Duration provided :" + duration + " minutes.", true);

    WaitUtil.waitUntil(1000);
    WebElement precoolOption = newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(PRECOOL)));

    newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_DURATION_ELEMENT))).click();
    DriverConfig.setLogString("select precool option if needed.", true);
    WaitUtil.waitUntil(SHORT_TIMEOUT);
    if (precoolOpted) {
        isFormElementClickableById(DriverConfig.getDriver(), demandSideManagementConfig.get(PRECOOL),
                MEDIUM_TIMEOUT);
        if (precoolOption.isSelected() == false)
            precoolOption.click();
    }
    smallWait();
    // DriverConfig.setLogString("Unselect the group for event.", true);
    // select groups
    WebElement selectGroupsForm = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(POPUP_FORM)));
    if (groupName != null) {
        DriverConfig.setLogString("select groups for event." + groupName, true);
        retrieveElementByAttributeValueByPassingElement(DriverConfig.getDriver(), selectGroupsForm, TAG_SPAN,
                ATTR_CLASS, demandSideManagementConfig.get(SELECT_GROUPS_CHECKBOX)).click();
        WebElement groupsTableElement = retrieveElementByAttributeValueByPassingElement(
                DriverConfig.getDriver(), selectGroupsForm, TAG_TBODY, ATTR_ID,
                demandSideManagementConfig.get(GROUP_LIST_TABLE));
        List<WebElement> groupRows = groupsTableElement.findElements(By.tagName("tr"));
        for (WebElement element : groupRows) {
            List<WebElement> groupColumns = element.findElements(By.tagName("td"));
            if (!groupColumns.isEmpty()) {
                WebElement checkBoxElement = groupColumns.get(0).findElement(By.tagName(TAG_INPUT));
                WebElement groupNameElement = groupColumns.get(1);
                if (groupNameElement.findElement(By.tagName(TAG_DIV)).getText().equalsIgnoreCase(groupName))
                    // select the group name check box
                    checkBoxElement.click();
            }
        }
    }
    // End Select groups
    DriverConfig.setLogString("Mode " + mode, true);
    smallWait();
    isFormDisplayedById(DriverConfig.getDriver(), newEventWizardForm,
            demandSideManagementConfig.get(EVENT_SAVE_BTN), MEDIUM_TIMEOUT);
    if (mode.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_TYPE_DRAFT))) {
        WaitUtil.waitUntil(SHORT_TIMEOUT);
        DriverConfig.setLogString("click draft button.", true);
        newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_SAVE_BTN))).click();
    } else if (mode.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_TYPE_SCHEDULED))) {
        WaitUtil.waitUntil(SHORT_TIMEOUT);
        DriverConfig.setLogString("click schedule button.", true);
        newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_SCHEDULED_BTN))).click();
    } else {
        smallWait();
        DriverConfig.setLogString("click cancel button.", true);
        newEventWizardForm.findElement(By.id(demandSideManagementConfig.get(EVENT_CANCEL_BTN))).click();
    }

    return inputEventName;
}

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

License:Open Source License

/**
 * Change away date value.// w  ww  . ja v  a2s  .  com
 * @param linkTextValue the link text value
 * @see com.ecofactor.qa.automation.insite.page.RoleManagement#changeAwayDateValue(java.lang.String)
 */
@Override
public void changeAwayDateValue(final String linkTextValue) {

    DriverConfig.setLogString("Change current date to : " + linkTextValue, true);
    (new WebDriverWait(DriverConfig.getDriver(), SHORT_TIMEOUT)).until(new ExpectedCondition<Boolean>() {
        public Boolean apply(WebDriver d) {

            final List<WebElement> elementList = DriverConfig.getDriver()
                    .findElements(By.linkText(linkTextValue));
            for (final WebElement webElement : elementList) {
                if (webElement.isDisplayed()) {
                    webElement.click();
                }
            }
            return true;
        }
    });
    tinyWait();
    clickDone();
}

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

License:Open Source License

/**
 * click first address./*from  w  ww .  j a  v  a2s  .c  om*/
 * @param address the address
 */
public void clickFirstAddress(String address) {

    DriverConfig.setLogString("Click Address", true);
    List<WebElement> addressElement = DriverConfig.getDriver().findElements(By.linkText(address));
    addressElement.get(0).click();
}

From source file:com.ecofactor.qa.automation.newapp.page.impl.LoginPageImpl.java

License:Open Source License

/**
 * verify either hyper links were working or not.
 * @see com.ecofactor.qa.automation.newapp.page.LoginPage#verifyLinks()
 *///from www.  j a va  2s.c  om
@Override
public void verifyLinks() {

    LogUtil.setLogString("Check for Hyper Links", true);

    clickNeedHelp();
    clickBackButton();

    if (isPageLoaded()) {

        LogUtil.setLogString("Check for Privacy & Terms Hyper Link", true);
        final WebElement privacyLink = getElement(getDriver(), By.linkText(PRIVACYLINK), MEDIUM_TIMEOUT);
        isClickable(getDriver(), privacyLink, MEDIUM_TIMEOUT);
        // getAction().click(privacyLink);
    }
}

From source file:com.ecofactor.qa.automation.platform.action.impl.AndroidUIAction.java

License:Open Source License

/**
 * Accept alert.//from w  w  w. j  ava  2  s.  c o  m
 * @see com.ecofactor.qa.automation.mobile.action.impl.AbstractMobileUIAction#acceptAlert()
 */
@Override
public void acceptAlert() {

    driverOps.switchToNative();
    setLogString("Click OK button", true);
    driverOps.getDeviceDriver().findElement(By.linkText("OK")).click();
    mediumWait();

}