List of usage examples for org.openqa.selenium WebElement click
void click();
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(); } }