Как выбрать дату из списка выбора телерика (кендо) - PullRequest
0 голосов
/ 09 июля 2019

У меня проблема с выбором определенного дня в методе pickDay ().Когда я указываю 4, он продолжает выбирать 1. Когда печатается дата [DAY_OF_MONTH], она печатает 4.

Я звоню по этому ключевому слову: -

CustomKeywords.'custom.keywords.RadDatePicker.pickDate '(' Хранилище объектов / Telerik / RadDateLightWeightPage / img_CalendarPopupButton ', '06 / 04/2019')

class RadDatePicker {

  Date date;
  String obj;

  RadDatePicker() {
  }

  RadDatePicker(String object, String input_date) {
    this.obj = object;
    date = new Date().parse("MM/dd/yyyy", input_date)
   }

  def openCalendar() {...}

  def displayMonth() {...}

  def displayYear() {...}

  def displayDate() {
    return new Date().parse("MMM/yyyy", displayMonth() + "/" + displayYear())
  }

  def pickYear(){...}

  def pickMonth(){...}

  def pickDay() {
    println date[DAY_OF_MONTH]
    WebUI.click(findTestObject('Object Repository/Telerik/RadDateLightWeightPage/a_dayPicker', [('day') : date[DAY_OF_MONTH]]))
  }

  def pickDate() {
    pickYear()
    pickMonth()
    pickDay()
  }

  @Keyword
  def pickDate(String obj, String date) {
    def pick = new RadDatePicker(obj, date)
    pick.openCalendar()
    pick.pickDate()
  }
}

Вот календарь и HTML

календарь html

1 Ответ

0 голосов
/ 11 июля 2019

Я нашел способ обойти это путем реализации WebDriver и поиска конкретного xpath, который содержал день, который я искал, вот код

def pickDay() {

  WebDriver driver = DriverFactory.getWebDriver();;
  WebElement datepicker = driver.findElement(By.xpath("//*[@id='ctl00_cphContent_RadDatePicker1_calendar_Top']"));
  datepicker.findElement(By.xpath("//*[(text()=" + date[DAY_OF_MONTH] + ")]")).click();

}
...