t.me/atinfo_chat Telegram группа по автоматизации тестирования

Выбрать элемент из выпадающего списка React

dom
locators
selenidelement
reactjs
selenide
java
Теги: #<Tag:0x00007fb2ffa0ade8> #<Tag:0x00007fb2ffa0ab90> #<Tag:0x00007fb2ffa0a910> #<Tag:0x00007fb2ffa0a5c8> #<Tag:0x00007fb2ffa0a230> #<Tag:0x00007fb2ffa0a000>

(Кирилл) #1

Добрый день!

Есть такой раскрывающиеся список:
image

Собственно элементы меняются при изменения значения
aria-activedescendant = react-select-9--option-#желаемого_значения

Вопрос: Как можно(и наиболее рационально) изменить значения этого параметра на свое произвольное?

Сейчас все довольно топорно выглядит- мы открываем список по общему селектору и по тексту ищем значение(но в другой версии проекта его может не быть, допустим и тогда тест упадет). Использую JAVA 8 + Selenide.

$(".Select-control").click();
$(byText("11в")).click();

(Pavel) #2

а по id не проще искать элемент? Он же уникальный


(Кирилл) #3

id относится к элементу и значения мы получаем из aria-activedescendant, где изменяется значение react-select-9--option-#желаемого_значения и подтягивается значения по порядковому номеру в конце.


(Pavel) #4

Если вы хотите в процессе тестирования изменять параметр атрибута, то это можно сделать при помощи JS
https://stackoverflow.com/questions/8473024/selenium-can-i-set-any-of-the-attribute-value-of-a-webelement-in-selenium
Я такое не делал, поэтому точно сказать не могу