Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Ожидать пока параметр не примет определенное значение

java
webdriver
Теги: #<Tag:0x00007f7b61314898> #<Tag:0x00007f7b61314708>

#1

Имею элемент

@FindBy(how = How.XPATH, using = "//tr[@class='z-listitem' and contains(@title, 'Выделено док')]")
public WebElement trForCheckSelectScroll;

В тесте, необходимо проверить, что после определенных действий - параметр title этого элемента станет равным "Выделено док.: 2"

Пока сделал это через таймаут и equals

Assert.assertTrue(homePage.trForCheckSelectScroll.getAttribute("title").equals("Выделено док.: 2"), "Элементов выделено не 2");

Подскажите плиз, есть ли средства для организации ожидания пока этот параметр примет указанное значение?


(Sergey Korol) #2

Посмотрите, как реализован уже существующий ExpectedCondition, и напишите свой, который будет искать по кастомному атрибуту.


(asolntsev) #3

Используйте библиотеку Selenide. Она как раз содержит богатый набор для всевозможных ожиданий. Ваша проблема решится одной строчкой:
$("//tr[@class=‘z-listitem’").shouldHave(attribute(“title”, “Выделено док”));