Example usage for org.openqa.selenium WebElement click

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

Introduction

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

Prototype

void click();

Source Link

Document

Click this element.

Usage

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

License:Open Source License

/**
 * select Event Link Initiates event search by loading event list page.
 * /*from ww w  .ja v a2  s. com*/
 * @param inputEventName
 *            the input event name
 */
public void selectEventLink(String inputEventName) {

    DriverConfig.setLogString("Select the event " + inputEventName + " from the list.", true);
    loadPageFrame();
    WaitUtil.waitUntil(10000);
    logger.info("check if event list form displayed.");
    WebElement formElement = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(EVENT_LIST_PAGE_FORM_NAME)));
    isDisplayedById(DriverConfig.getDriver(), demandSideManagementConfig.get(EVENT_LIST_PAGE_FORM_NAME),
            SHORT_TIMEOUT);
    mediumWait();
    logger.info("check if event pagination element is displayed.", true);
    if (formElement.findElements(By.id(demandSideManagementConfig.get(EVENT_PAGINATION_BOTTOM_ELEMENT)))
            .size() > 0) {
        isFormDisplayedById(DriverConfig.getDriver(), formElement,
                demandSideManagementConfig.get(EVENT_PAGINATION_BOTTOM_ELEMENT), SHORT_TIMEOUT);
        WebElement eventIndexElement = retrieveElementByAttributeValue(DriverConfig.getDriver(), TAG_TD,
                ATTR_ID, demandSideManagementConfig.get(EVENT_PAGINATION_BOTTOM_ELEMENT));
        if (eventIndexElement != null) {
            WebElement pageIndexElement = formElement
                    .findElement(By.id(demandSideManagementConfig.get(EVENT_PAGINATION_BOTTOM_ELEMENT)));
            List<WebElement> pageIndexes = pageIndexElement.findElements(By.tagName(TAG_SPAN));
            lastPageElement = pageIndexes.get(pageIndexes.size() - 1);
            if (!lastPageElement.getAttribute(ATTR_CLASS).endsWith(demandSideManagementConfig.get(DISABLED))) {
                lastPageElement.click();
                smallWait();
            }
            nextPageElement = pageIndexes.get(pageIndexes.size() - 4);
            iterateEventList();
        }
    } else {
        logger.info("there is no pagination select event in the default page.");
        WebElement eventElement = retrieveElementByTagTextForSubElement(DriverConfig.getDriver(), formElement,
                TAG_ANCHOR, inputEventName);
        if (eventElement != null) {
            smallWait();
            DriverConfig.setLogString("select the event link.", true);
            eventElement.click();
            eventfound = true;
        }
    }
    if (eventfound == false) {
        DriverConfig.setLogString("Event name '" + inputEventName + "' not found.", true);
    }
    loadPageFrame();
    isDisplayedById(DriverConfig.getDriver(), demandSideManagementConfig.get(EVENT_CREATE_FORM_NAME),
            SHORT_TIMEOUT);
}

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

License:Open Source License

/**
 * iterateAndClickParticularProgram Iterate the Pagination and click on
 * particular program, if it was found./*from  w  w  w  .  jav a  2  s.  c o m*/
 * 
 * @param programeName
 *            the programe name
 */
public void iterateAndClickParticularProgram(final String programeName) {

    DriverConfig.setLogString("Iterate the program list and click on specified program.", true);
    // WaitUtil.waitUntil(30000);
    WaitUtil.waitUntil(20000);
    logger.info("check if program list form displayed.");
    formElement = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(PROGRAM_LIST_FORM)));
    isDisplayedById(DriverConfig.getDriver(), demandSideManagementConfig.get(PROGRAM_LIST_FORM), LONG_TIMEOUT);
    List<WebElement> lastPageDisabledState = retrieveElementsByAttributeValueList(DriverConfig.getDriver(),
            TAG_SPAN, ATTR_CLASS, demandSideManagementConfig.get(LAST_PAGE_DISABLED));
    logger.info("check if program pagination element displayed.");
    if (formElement.findElements(By.id(demandSideManagementConfig.get(PROGRAM_PAGINATION_BOTTOM_ELEMENT)))
            .size() > 0 && lastPageDisabledState.size() == 0) {

        isFormDisplayedById(DriverConfig.getDriver(), formElement,
                demandSideManagementConfig.get(PROGRAM_PAGINATION_BOTTOM_ELEMENT), SHORT_TIMEOUT);
        WebElement paginationBottomElement = formElement
                .findElement(By.id(demandSideManagementConfig.get(PROGRAM_PAGINATION_BOTTOM_ELEMENT)));
        logger.info("check if last page button displayed.");
        List<WebElement> paginationElements = paginationBottomElement.findElements(By.tagName(TAG_SPAN));
        for (WebElement items : paginationElements) {
            if (items.getAttribute(ATTR_CLASS).equalsIgnoreCase(demandSideManagementConfig.get(LAST_PAGE_ICON))
                    || items.getAttribute(ATTR_CLASS)
                            .equalsIgnoreCase(demandSideManagementConfig.get(LAST_PAGE_WITHOUT_HOVER))) {
                logger.info("select last page.");
                items.click();
                logger.info("Last page is clicked." + items.getAttribute(ATTR_CLASS));
                break;
            }
        }

        retrieveElementByAttributeValue(DriverConfig.getDriver(), TAG_SPAN, ATTR_CLASS,
                demandSideManagementConfig.get(LAST_PAGE_DISABLED));
        WebElement programIndexElement = retrieveElementByAttributeValue(DriverConfig.getDriver(), TAG_TD,
                ATTR_ID, demandSideManagementConfig.get(PROGRAM_PAGINATION_BOTTOM_ELEMENT));
        if (programIndexElement != null) {
            WebElement pageIndexElement = formElement
                    .findElement(By.id(demandSideManagementConfig.get(PROGRAM_PAGINATION_BOTTOM_ELEMENT)));
            List<WebElement> pageIndexes = pageIndexElement.findElements(By.tagName(TAG_SPAN));
            previousPageElement = pageIndexes.get(pageIndexes.size() - 4);
            iterateProgramList(programeName);
        }

    } else {
        logger.info("There are no multiple pages available. Select from the default page.");
        WebElement programElement = retrieveElementByTagTextForSubElement(DriverConfig.getDriver(), formElement,
                TAG_ANCHOR, programeName);
        if (programElement != null) {
            smallWait();
            DriverConfig.setLogString("click the program element.", true);
            programElement.click();
            programfound = true;
        }

    }

    if (programfound == false) {
        DriverConfig.setLogString("Load shapping program '" + programeName + "' not found.", true);
    }

}

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

License:Open Source License

/**
 * Iterates programs list for a program.
 * /*ww  w . j  a  va  2  s .c  om*/
 * @param programName
 *            the program name
 */
public void iterateProgramList(final String programName) {

    do {
        WaitUtil.waitUntil(10000);
        WebElement programeElementLink = retrieveElementByTagTextForSubElement(DriverConfig.getDriver(),
                formElement, TAG_ANCHOR, programName);
        if (programeElementLink != null) {
            smallWait();
            DriverConfig.setLogString("select program '" + programName + "' link.", true);
            programeElementLink.click();
            programfound = true;
            break;
        }
        logger.info("click previous page icon.", true);
        WebElement previousElement = null;
        if (retrieveElementByAttributeValueByPassingElement(DriverConfig.getDriver(), formElement, TAG_SPAN,
                ATTR_CLASS, demandSideManagementConfig.get(PREVIOUS_PAGE_HOVER)) != null) {
            previousElement = retrieveElementByAttributeValueForSubElement(DriverConfig.getDriver(),
                    formElement, TAG_SPAN, ATTR_CLASS, demandSideManagementConfig.get(PREVIOUS_PAGE_HOVER),
                    MEDIUM_TIMEOUT);
            previousElement.click();
        } else {
            previousElement = retrieveElementByAttributeValueForSubElement(DriverConfig.getDriver(),
                    formElement, TAG_SPAN, ATTR_CLASS,
                    demandSideManagementConfig.get(PREVIOUS_PAGE_WITHOUT_HOVER), MEDIUM_TIMEOUT);
            previousElement.click();
        }

        smallWait();
        programeElementLink = retrieveElementByTagTextForSubElement(DriverConfig.getDriver(), formElement,
                TAG_ANCHOR, programName);
        if (programeElementLink != null) {
            smallWait();
            DriverConfig.setLogString("Load Shapping program '" + programName + "' found. ", true);
            programeElementLink.click();
            programfound = true;
            break;
        }
    } while (!previousPageElement.getAttribute(ATTR_CLASS)
            .contains(demandSideManagementConfig.get(PREVIOUS_PAGE_DISABLED)));
}

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

License:Open Source License

/**
 * iterate Event List iterates the events page list in the insite portal and
 * selects the given event.//  w  w w .  jav a 2s.c  o  m
 */
public void iterateEventList() {

    DriverConfig.setLogString("iterate the event list and select the event.", true);
    do {
        WaitUtil.waitUntil(20000);
        WebElement programeElementLink = retrieveElementByTagTextForSubElement(DriverConfig.getDriver(),
                formElement, TAG_ANCHOR, inputEventName);
        if (programeElementLink != null) {
            WaitUtil.waitUntil(20000);
            programeElementLink.click();
            eventfound = true;
            break;
        }

        WaitUtil.waitUntil(10000);
        WebElement nextElement2 = null;
        if (retrieveElementByAttributeValueByPassingElement(DriverConfig.getDriver(), formElement, TAG_SPAN,
                ATTR_CLASS, demandSideManagementConfig.get(PREVIOUS_PAGE_HOVER)) != null) {
            nextElement2 = retrieveElementByAttributeValueForSubElement(DriverConfig.getDriver(), formElement,
                    TAG_SPAN, ATTR_CLASS, demandSideManagementConfig.get(PREVIOUS_PAGE_HOVER), MEDIUM_TIMEOUT);
            nextElement2.click();
        } else {
            WaitUtil.waitUntil(20000);
            nextElement2 = retrieveElementByAttributeValueForSubElement(DriverConfig.getDriver(), formElement,
                    TAG_SPAN, ATTR_CLASS, demandSideManagementConfig.get(PREVIOUS_PAGE_WITHOUT_HOVER),
                    MEDIUM_TIMEOUT);
            nextElement2.click();
        }

        WaitUtil.waitUntil(20000);
        programeElementLink = retrieveElementByTagTextForSubElement(DriverConfig.getDriver(), formElement,
                TAG_ANCHOR, inputEventName);
        if (programeElementLink != null) {
            WaitUtil.waitUntil(20000);
            DriverConfig.setLogString("Load shapping event '" + inputEventName + "' found.", true);
            programeElementLink.click();
            eventfound = true;
            break;
        }
    } while (!nextPageElement.getAttribute(ATTR_CLASS).endsWith(demandSideManagementConfig.get(DISABLED)));

}

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

License:Open Source License

/**
 * Edits an event and saves it in either draft/scheduled mode.
 * // w  w w. j a  v a  2  s  .c  om
 * @param mode
 *            the mode
 * @return the map
 */
public Map<String, Object> editEvent(String mode) {

    DriverConfig.setLogString("start edit event.", true);
    Map<String, Object> updatedEventDetails = new HashMap<String, Object>();
    logger.info("check if edit event form visible.", true);
    WebElement newFormElement = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(EVENT_CREATE_FORM_NAME)));
    String updatedEventDesc;
    if (newFormElement != null) {

        updatedEventDesc = formatter.format(new Date());
        WebElement saveBtnLink = null;
        WaitUtil.waitUntil(10000);
        DriverConfig.setLogString("check if event description element is available.", true);
        WebElement eventDescElement = retrieveElementByAttributeValueContainsForSubElement(
                DriverConfig.getDriver(), newFormElement, TAG_TEXTAREA, "name",
                demandSideManagementConfig.get(EVENT_DESC), SHORT_TIMEOUT);
        eventDescElement.clear();

        eventDescElement.sendKeys(updatedEventDesc);
        updatedEventDetails.put("eventDesc", updatedEventDesc);
        DriverConfig.setLogString("check if precool selection is available.", true);
        WebElement preCool = retrieveElementByAttributeValueContainsForSubElement(DriverConfig.getDriver(),
                newFormElement, TAG_INPUT, ATTR_ID, demandSideManagementConfig.get(PRECOOL), SHORT_TIMEOUT);
        DriverConfig.setLogString("select precool option", true);
        if (isDisplayedById(DriverConfig.getDriver(), demandSideManagementConfig.get(PRECOOL), SHORT_TIMEOUT))
            preCool.click();

        DriverConfig.setLogString("Mode " + mode, true);
        if (mode.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_TYPE_DRAFT))) {
            DriverConfig.setLogString("check if save draft button is available.", true);
            saveBtnLink = retrieveElementByAttributeValueContainsForSubElement(DriverConfig.getDriver(),
                    newFormElement, TAG_BUTTON, ATTR_ID, demandSideManagementConfig.get(SAVE_DRAFT),
                    SHORT_TIMEOUT);
            DriverConfig.setLogString("click save draft button.", true);
            saveBtnLink.click();
        } else {
            DriverConfig.setLogString("check if schedule button is available.", true);
            saveBtnLink = retrieveElementByAttributeValueContainsForSubElement(DriverConfig.getDriver(),
                    newFormElement, TAG_BUTTON, ATTR_ID, demandSideManagementConfig.get(EVENT_SCHEDULED_BTN),
                    SHORT_TIMEOUT);
            DriverConfig.setLogString("click schedule draft.", true);
            saveBtnLink.click();

        }
        smallWait();
        DriverConfig.setLogString("Completed editing the event.", true);
    }

    return updatedEventDetails;
}

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

License:Open Source License

/**
 * Completed event status view./*  w  w w.  j a  v  a2 s.  c  om*/
 * 
 * @param programName
 *            the program name
 * @return the load shaping event report
 * @throws ParseException
 *             the parse exception
 */
public LoadShapingEventReport completedEventStatusView(final String programName) throws ParseException {

    List<String> eventReport = new ArrayList<String>();
    pickGivenProgram(programName);
    loadPageFrame();
    logger.info("check if event list form is available.", true);
    isDisplayedById(DriverConfig.getDriver(), "form", SHORT_TIMEOUT);
    formElement = DriverConfig.getDriver().findElement(By.id("form"));
    logger.info("check if event status filter is available.", true);
    isDisplayedById(DriverConfig.getDriver(), demandSideManagementConfig.get(EVENT_STATUS_FILTER),
            SHORT_TIMEOUT);

    WebElement select = formElement.findElement(By.id(demandSideManagementConfig.get(EVENT_STATUS_FILTER)));
    List<WebElement> options = select.findElements(By.tagName("option"));

    for (WebElement option : options) {
        if (option.getAttribute("value").contains(Status.COMPLETED.toString())) {
            selectOptionByText(formElement, demandSideManagementConfig.get(EVENT_STATUS_FILTER),
                    option.getText());
            WaitUtil.waitUntil(2000);
            List<WebElement> listedEventStatus = retrieveElementsByAttributeValueList(DriverConfig.getDriver(),
                    TAG_ANCHOR, ATTR_CLASS, demandSideManagementConfig.get(EVENT_STATUS_LINK_CLASS));
            logger.info("size:" + listedEventStatus.size());
            for (WebElement listItem : listedEventStatus) {
                WaitUtil.waitUntil(1000);
                // DriverConfig.setLogString("listItem " +
                // listItem.getAttribute(ATTR_ID));
                if (listItem.getText().equalsIgnoreCase(Status.COMPLETED.toString())) {
                    listItem.click();
                    WaitUtil.waitUntil(1000);
                    WebElement spanForm = DriverConfig.getDriver()
                            .findElement(By.id(demandSideManagementConfig.get(REPORT_DISPLAY_FORM)));
                    WaitUtil.waitUntil(1000);
                    List<WebElement> labelElements = spanForm.findElements(By.tagName("label"));

                    for (WebElement labels : labelElements) {
                        logger.info("Labels: " + labels.getText().toString());
                        eventReport.add(labels.getText());
                    }
                    break;
                }
            }
        }
    }

    Iterator<String> iterator = eventReport.iterator();
    Calendar rDate = Calendar.getInstance();
    while (iterator.hasNext()) {
        // PROGRAM,EVENT,EVENT_PERIOD,EVENT_STATUS ,LOCATIONS_TARGETED,
        // LOCATIONS_PARTICIPATED
        formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
        String labelText = iterator.next();
        String labelValue = null;
        logger.info("Label text: " + labelText);
        if (labelText.equalsIgnoreCase(demandSideManagementConfig.get(PROGRAM))) {
            labelValue = iterator.next();
            lsEventReportUI.getLoadShapingEvent().getEcpCoreLSProgram().setName(labelValue);
        } else if (labelText.equalsIgnoreCase(demandSideManagementConfig.get(EVENT))) {
            labelValue = iterator.next();
            lsEventReportUI.getLoadShapingEvent().setName(labelValue);
        } else if (labelText.equalsIgnoreCase(demandSideManagementConfig.get(LOCATIONS_TARGETED))) {
            labelValue = iterator.next();
            lsEventReportUI.setNumExpectedLocations(Integer.parseInt(labelValue));

        } else if (labelText.equalsIgnoreCase(demandSideManagementConfig.get(LOCATIONS_PARTICIPATED))) {
            labelValue = iterator.next();
            lsEventReportUI.setNumActualLocations(Integer.parseInt(labelValue));

        } else if (labelText.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_STATUS))) {
            labelValue = iterator.next();
            lsEventReportUI.getLoadShapingEvent().setStatus(Status.valueOf(labelValue));

        } else if (labelText.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_PERIOD))) {
            labelValue = iterator.next();
            rDate.setTime(formatter.parse(labelValue.trim()));
            lsEventReportUI.getLoadShapingEvent().setStartDate(rDate);
            labelValue = iterator.next();
            String endTimePart = labelValue.trim();

            rDate.set(Calendar.HOUR, Integer.parseInt(endTimePart.split(":")[0]));
            rDate.set(Calendar.MINUTE,
                    Integer.parseInt(endTimePart.substring(endTimePart.indexOf(":") + 1, 5)));

            if (endTimePart.substring(endTimePart.indexOf(" ") + 1, 8).equalsIgnoreCase("AM")) {
                rDate.set(Calendar.AM, 1);
            } else {
                rDate.set(Calendar.PM, 1);
            }
            lsEventReport.getLoadShapingEvent().setEndDate(rDate);

            /*
             * rDate.setTime(formatter.parse(iterator.next().split("-")[1]));
             * lsEventReport.getLoadShapingEvent().setEndDate(rDate);
             * rDate.setTimeZone(TimeZone.
             * getTimeZone(lsEventReportUI.getLoadShapingEvent
             * ().getTimeZone()));
             */
        }
    }

    return lsEventReportUI;
}

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

License:Open Source License

/**
 * verifies if Start Time Too Earlier Error message is displayed for earlier
 * start time./* w ww .  jav a  2  s .co m*/
 * 
 * @param dbEcpCoreLSProgram
 *            the db ecp core ls program
 * @throws ParseException
 *             the parse exception
 */
public void verifyStartTimeTooEarlierError(EcpCoreLSProgram dbEcpCoreLSProgram) throws ParseException {

    loadPageFrame();
    eventDate = Calendar.getInstance();
    createEvent(false, convertToLocalTime(eventDate, dbEcpCoreLSProgram.getTimeZone()),
            demandSideManagementConfig.get(EVENT_DURATION), demandSideManagementConfig.get(EVENT_TYPE_DRAFT),
            false, null);
    // WaitUtil.waitUntil(5000);
    WaitUtil.waitUntil(10000);
    DriverConfig.setLogString("check if 'Start Time Too Earlier Error' message displayed.", true);
    isFormDisplayedByClassName(DriverConfig.getDriver(), newEventWizardForm,
            demandSideManagementConfig.get(ERROR_MSG_CLASS), SHORT_TIMEOUT);
    WebElement errorMsg = newEventWizardForm
            .findElement(By.className(demandSideManagementConfig.get(ERROR_MSG_CLASS)));
    Assert.assertFalse(errorMsg.getText().isEmpty(), "Error message is not displayed");
    mediumWait();
    logger.info("check if event wizard close button is available.", true);
    WebElement closeEventWizardBtn = retrieveElementByAttributeValue(DriverConfig.getDriver(), TAG_SPAN,
            ATTR_CLASS, demandSideManagementConfig.get(CLOSE_EVENT_WIZARD_BTN));
    closeEventWizardBtn.click();
    mediumWait();

    logger.info("Event Start time is too earlier. Unable to create event.", true);
}

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

License:Open Source License

/**
 * tests if delete and cancel option works fine for draft and scheduled
 * events./*from ww  w.  ja  v  a 2s . co  m*/
 * 
 * @param mode
 *            the mode
 * @throws ParseException
 *             the parse exception
 */
public void testcancelEvent(final String mode) throws ParseException {

    String cancelElement = null;
    logger.info("get the event list page form element.", true);
    WebElement newFormElement = DriverConfig.getDriver()
            .findElement(By.id(demandSideManagementConfig.get(EVENT_CREATE_FORM_NAME)));
    WebElement deleteBtnLink = null;

    if (mode.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_TYPE_DRAFT))) {
        WaitUtil.waitUntil(5000);
        isFormDisplayedById(DriverConfig.getDriver(), newFormElement,
                demandSideManagementConfig.get(EVENT_DELETE_BTN), SHORT_TIMEOUT);
        cancelElement = demandSideManagementConfig.get(EVENT_DELETE_BTN);
    } else if (mode.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_TYPE_SCHEDULED))) {
        WaitUtil.waitUntil(5000);
        isFormDisplayedById(DriverConfig.getDriver(), newFormElement,
                demandSideManagementConfig.get(CANCEL_EVENT_BTN), SHORT_TIMEOUT);
        cancelElement = demandSideManagementConfig.get(CANCEL_EVENT_BTN);
    } else {
        WaitUtil.waitUntil(5000);
        isFormDisplayedById(DriverConfig.getDriver(), newFormElement,
                demandSideManagementConfig.get(CANCEL_EVENT_BTN), SHORT_TIMEOUT);
        cancelElement = demandSideManagementConfig.get(CANCEL_EVENT_BTN);
    }
    logger.info("check if delete/cancel button displayed.", true);
    deleteBtnLink = retrieveElementByAttributeValueContainsForSubElement(DriverConfig.getDriver(),
            newFormElement, TAG_BUTTON, ATTR_ID, cancelElement, SHORT_TIMEOUT);
    deleteBtnLink.click();
    loadPageFrame();

    List<WebElement> popUpDiv = null;
    DriverConfig.setLogString("Mode " + mode, true);
    if (mode.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_TYPE_DRAFT))) {
        popUpDiv = retrieveElementsByAttributeValueList(DriverConfig.getDriver(), TAG_DIV, ATTR_ID,
                demandSideManagementConfig.get(CONFIRM_DELETE_DIALOG));
        cancelElement = demandSideManagementConfig.get(DELETE_EVENT_BTN);
    } else if (mode.equalsIgnoreCase(demandSideManagementConfig.get(EVENT_TYPE_SCHEDULED))) {
        popUpDiv = retrieveElementsByAttributeValueList(DriverConfig.getDriver(), TAG_DIV, ATTR_ID,
                demandSideManagementConfig.get(CONFIRM_CANCEL_DIALOG));
        cancelElement = demandSideManagementConfig.get(CONFIRM_CANCEL_EVENT_BTN);
    } else {
        popUpDiv = retrieveElementsByAttributeValueList(DriverConfig.getDriver(), TAG_DIV, ATTR_ID,
                demandSideManagementConfig.get(CONFIRM_CANCEL_DIALOG));
        cancelElement = demandSideManagementConfig.get(CONFIRM_CANCEL_EVENT_BTN);
    }

    DriverConfig.setLogString("click delete/cancel button.", true);
    if (popUpDiv.size() > 0) {
        WebElement lastDiv = popUpDiv.get(popUpDiv.size() - 1);
        lastDiv.findElement(By.id(cancelElement)).click();
    }

}

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 ./*from w  ww  . j ava 2  s .  c o 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.DemandSideManagementImpl.java

License:Open Source License

/**
 * Check if programs accesible.//from  w w w.  jav a 2s .  c om
 * 
 * @param programList
 *            the program list
 * @see com.ecofactor.qa.automation.insite.page.DemandSideManagement#checkIfProgramsAccesible(java.util.List)
 */
public void checkIfProgramsAccesible(List<String> programList) {

    DriverConfig.setLogString("check if programs are accesible.", true);
    WebElement pgmElement = null;
    List<WebElement> groupsLink = null;
    for (String prgmElement : programList) {
        waitUntil(2);
        pgmElement = retrieveElementByTagText(DriverConfig.getDriver(), TAG_ANCHOR, prgmElement, SHORT_TIMEOUT);
        waitUntil(1);
        pgmElement.click();
        smallWait();
        groupsLink = retrieveElementsByTagText(DriverConfig.getDriver(), TAG_ANCHOR, "Groups");
        Assert.assertTrue(groupsLink.size() > 0, "Group link size is 0");
        DriverConfig.getDriver().navigate().back();
    }
}