Example usage for org.openqa.selenium WebElement getAttribute

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

Introduction

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

Prototype

String getAttribute(String name);

Source Link

Document

Get the value of the given attribute of the element.

Usage

From source file:com.linagora.obm.ui.page.widget.CalendarViewWidget.java

License:Open Source License

private WebElement retrieveListViewElement() {
    if (listViewElement != null) {
        return listViewElement;
    }/*from ww  w .  j  a  v  a  2s .co  m*/

    List<WebElement> buttonElements = calendarViewElement.findElements(new ByCssSelector("a"));
    for (WebElement webElement : buttonElements) {
        if (webElement.getAttribute("href").contains("list")) {
            return listViewElement = webElement;
        }
    }
    throw new NoSuchElementException("listViewElement");
}

From source file:com.linagora.obm.ui.scenario.contact.ContactStepdefs.java

License:Open Source License

@Then("creation fails")
public void creationFails() {
    WebElement lastNameField = processedCreateContactPage.elLastname();
    assertThat(lastNameField.getAttribute("class")).isEqualTo("error");
    assertThat(lastNameField.getAttribute("title")).isEqualTo("Vous devez renseigner le Nom avant de valider.");
}

From source file:com.linagora.obm.ui.scenario.contact.ContactStepdefs.java

License:Open Source License

@Then("creation page still active with \"([^\"]*)\" as lastname")
public void creationPageStillActive(String lastname) {
    WebElement lastNameField = processedCreateContactPage.elLastname();
    assertThat(lastNameField.getAttribute("value")).isEqualTo(lastname);
}

From source file:com.linagora.obm.ui.scenario.event.EventStepdefs.java

License:Open Source License

@And("^event \"([^\"]*)\" appears every day, first is (\\d+)/(\\d+)/(\\d+) from (\\d+):(\\d+) to (\\d+):(\\d+)$")
public void eventAppearsEveryDay(String title, int day, int month, int year, int beginHour, int beginMin,
        int endHour, int endMin) {

    DateTime dateTime = dateTime(day, month, year, beginHour, beginMin);
    String expectedEventDatesTitle = expectedEventDatesTitle(beginHour, beginMin, endHour, endMin);

    List<WebElement> divElements = sortedEvents(title);
    assertThat(divElements).isNotEmpty();
    for (WebElement divElement : divElements) {
        assertThat(divElement.getAttribute("id")).endsWith(String.valueOf(dateTime.getMillis() / 1000));

        WebElement hrefElement = divElement.findElement(new ByCssSelector("a"));
        assertThat(hrefElement.getText()).isEqualTo(expectedEventDatesTitle);

        dateTime = dateTime.plusDays(1);
    }//from www  .ja va 2s. c  o m
}

From source file:com.linagora.obm.ui.scenario.event.EventStepdefs.java

License:Open Source License

private List<WebElement> sortedEvents(String title) {
    List<WebElement> divElements = driver.findElements(new ByCssSelector("div[title='" + title + " ']"));

    Collections.sort(divElements, new Comparator<WebElement>() {

        @Override//from ww  w.  j a v  a  2s  .co  m
        public int compare(WebElement we1, WebElement we2) {
            return we1.getAttribute("id").compareTo(we2.getAttribute("id"));
        }

    });
    return divElements;
}

From source file:com.linagora.obm.ui.scenario.event.EventStepdefs.java

License:Open Source License

@Then("^event \"([^\"]*)\" appears every week on saturday, first is (\\d+)/(\\d+)/(\\d+) from (\\d+):(\\d+) to (\\d+):(\\d+)$")
public void eventAppearsEveryWeek(String title, int day, int month, int year, int beginHour, int beginMin,
        int endHour, int endMin) {

    DateTime dateTime = dateTime(day, month, year, beginHour, beginMin);
    String expectedEventDatesTitle = expectedEventDatesTitle(beginHour, beginMin, endHour, endMin);

    for (int numberOfChecks = 0; numberOfChecks < 5; numberOfChecks++) {
        WebElement divElement = processedCalendarPage.getDivByTitle(title);
        assertThat(divElement.getAttribute("id")).endsWith(String.valueOf(dateTime.getMillis() / 1000));

        WebElement hrefElement = divElement.findElement(new ByCssSelector("a"));
        assertThat(hrefElement.getText()).isEqualTo(expectedEventDatesTitle);

        dateTime = dateTime.plusWeeks(1);
        processedCalendarPage.calendarNavBarWidget().nextPage();
    }/*from  w  ww  . j  a  va2s .c o  m*/
}

From source file:com.linagora.obm.ui.scenario.event.EventStepdefs.java

License:Open Source License

@Then("^event \"([^\"]*)\" appears every month at (\\d+)/(\\d+)/(\\d+) from (\\d+):(\\d+) to (\\d+):(\\d+)$")
public void eventAppearsEveryMonth(String title, int day, int month, int year, int beginHour, int beginMin,
        int endHour, int endMin) {

    DateTime dateTimeDayOfMonth = dateTime(day, month, year, beginHour, beginMin);
    DateTime timelessDayOfMonth = timelessDateTime(day, month, year);
    String expectedEventDatesTitle = expectedEventDatesTitle(beginHour, beginMin, endHour, endMin);

    for (int numberOfChecksi = 0; numberOfChecksi < 5; numberOfChecksi++) {
        WebElement divElement = processedCalendarPage.getDivByTitle(title);
        assertThat(divElement.getAttribute("id"))
                .endsWith(String.valueOf(dateTimeDayOfMonth.getMillis() / 1000));

        WebElement hrefElement = divElement.findElement(new ByCssSelector("a"));
        assertThat(hrefElement.getText()).isEqualTo(expectedEventDatesTitle);

        boolean found = false;
        dateTimeDayOfMonth = dateTimeDayOfMonth.plusMonths(1);
        timelessDayOfMonth = timelessDayOfMonth.plusMonths(1);
        for (int weekIterator = 0; weekIterator < 5; weekIterator++) {
            processedCalendarPage.calendarNavBarWidget().nextPage();
            found = isDayOfMonthInPrintedWeek(timelessDayOfMonth);
            if (found) {
                break;
            }// w  ww.ja  va  2 s.  co m
        }

        assertThat(found).isTrue();
    }
}

From source file:com.linagora.obm.ui.scenario.event.EventStepdefs.java

License:Open Source License

private boolean isDayOfMonthInPrintedWeek(DateTime dayOfMonth) {
    List<WebElement> dayElements = driver.findElements(By.className("dayLabel"));
    for (WebElement dayElement : dayElements) {
        WebElement href = dayElement.findElement(By.tagName("a"));
        if (href.getAttribute("onclick").contains(String.valueOf(dayOfMonth.getMillis() / 1000))) {
            return true;
        }/*from ww w  .  ja  v  a2 s  . c o  m*/
    }
    return false;
}

From source file:com.linagora.obm.ui.scenario.event.EventStepdefs.java

License:Open Source License

private boolean isYearlyEventInPrintedMonth(String title, String expectedDate, String expectedEventDatesTitle) {
    boolean found = false;
    WebElement eventsElement = driver.findElement(new ByCssSelector(".spreadSheet.eventList"));
    List<WebElement> divElements = eventsElement.findElements(new ByCssSelector("div"));
    for (WebElement divElement : divElements) {
        if (divElement.getAttribute("id").contains(expectedDate)) {
            List<WebElement> spanElements = divElement.findElements(new ByCssSelector("span"));
            for (WebElement spanElement : spanElements) {
                if (spanElement.getText().startsWith(expectedEventDatesTitle)) {
                    WebElement imageElement = divElement.findElement(new ByCssSelector("strong"));
                    assertThat(imageElement.getText()).isEqualTo(title);
                    found = true;/*from www  . j a v  a 2 s . c o  m*/
                    break;
                }
            }
        }
        if (found) {
            break;
        }
    }
    return found;
}

From source file:com.linagora.obm.ui.scenario.event.EventStepdefs.java

License:Open Source License

@And("^allday event \"([^\"]*)\" is inserted in the calendar at (\\d+)/(\\d+)/(\\d+)$")
public void alldayEventIsInCalendar(String title, int day, int month, int year) {
    DateTime dateTime = timelessDateTime(day, month, year);
    String expectedPartialEventId = String.valueOf(dateTime.getMillis() / 1000);

    WebElement divElement = processedCalendarPage.getDivByTitle(title);
    assertThat(divElement.getAttribute("id")).endsWith(expectedPartialEventId);
}