Как вычитать текущее значение в выпадающем списке Combobox (Kendo UI)

protractorjs
javascript
Теги: #<Tag:0x00007f7b6a2da798> #<Tag:0x00007f7b6a2da568>

(Antony Marcial) #1

Подскажите плиз как решить такую проблему: есть такой себе дроп-даун Combobox (Kendo UI). В тестовом сценарии автоматически выбирается какое-то значение. Как вычитать (заассёртить) это значение, ну его текст? В самом элементе текущее значение (его текст) нигде не упоминается. как быть?
https://i.imgur.com/tHwJ58o.png

Автоматизирую на ProtractorJS + Jasmine


(Ilya Stoykov) #2

Попробуй так:
assertEquals(driver.findElement(By.“твой селектор элемента”).getAttribute(“value”), “Ожидаемое значение”);


(Ihor Kokhan) #3

В Kendo UI есть animation-container, в котором и хранятся значения для дропдауна. Открой дропдаун и правой кнопкой inspect element на любом из значений.
У меня “//div[@class=‘k-animation-container’]//li[@class=‘k-item-selected’]” работает. У тебя сам контейнер может по другому называться.
А потом уже либо getAttribute(“title”) либо .getAttribute(“value”) либо .Text()


(Antony Marcial) #4

Да, спасибо за подсказку! :+1: в моем случае выбранный в данный момент элемент имеет класс = “k-state-selected”.

Кстати, мож кому пригодится:
посмотреть все элементы комбобокса можно

  1. вбиваем в консоли document.getElementsByTagName(“kendo-combobox”)[0].onclick = function(e) {debugger;}
  2. Кликаем на наш combobox
  3. Страничка замораживается - ищем наш список https://i.imgur.com/wAYtDK2.png

Я почему-то не обратил внимания что у выбранного элемента есть значение атрибута “selected” :blush: