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

Как в Selenide подождать пока в таблице изменится значение

Подскажите пожалуйста. В таблице в течение примерно 10 секунд жду обновление числового значения. Первоначально стоит 0 или любое другое число, новое значение может быть любым числом. Как сделать ожидание на изменение значения?(с таймаутом)
p.s. смотрел структуру до смены/после она та же, только текст меняется

Может быт так:

$("путь к ячейке").waitWhile(matchText("(?:0{1})$|([0-9]+)"), 15000L);

Спасибо за ответ. К сожалению при смене значения ожидание продолжается, видимо потому что новая цифра также входит в регулярку. (в итоге падает по таймауту)

Мб сначала подождать, что он стал не равен предыдущему значению, а потом уже новому? Ну либо отслеживать запросы тогда в данном случае
Ещё если данные обновляются, то иногда таблица получает доп атрибут и можно на него опираться. Пробовали изучать, меняется ли что в таблице в ходе загрузки данных?

1 Симпатия

Спасибо за ответ. Да, походу надо что-то делать на ЯП. Структура элемента не меняется при обновлении значения, поэтому там зацепиться не за что.

Вам нужен один из методов:

  1. shouldHave(text(“Text”)); - подождет повления указанного текста 4с.
  2. waitUntil(text(“Text”), 10000); - будет ждать нужный текст указанное время в миллисекундах
  3. shouldHave(matchText("\w")); - подождет повления нужного текста по регулярке 4с

Спасибо.
shouldHave - мне нужно дождаться смены значения, и я не знаю какое оно будет.

Если там задан какой-то текст по-умолчанию, тогда можете пойти обратным путем и подождать, пока текущий текст изменится используя shouldNotHave(text("CurrentText"));