Есть ли в селениде проверка на Stale element?

Столкнулся с необходимостью проверять элемент на Stale, точнее ожидать этого самого Stale. not(Visible) не работает потому что элемент перерисовывается.
Конечно проблема обходится доставанием обернутого элемента и работой с ним. Но может уже есть встроенный метод в Selenide ?

Нет, такого метода нет, и это не случайно.
Такая проверка кажется плохой идеей. Тест не должен быть так сильно завязан на реализацию. А что, если завтра разрабы поменяют алгоритм, так что элемент будет оставаться тот же, а только текст будет меняться?

1 лайк

Я и не говорю что этот метод очень нужен и его непременно нужно добавить. Собственно спросил что спросил. И мне Stale ждать нужно не для того чтобы понять что элемент изменился, он не меняется. Мне нужно понять что он именно перерисовался. в том и загвоздка.
В любом случае вопрос решен, спасибо за ответ.

Обычный ответ - надо ждать изменения чего-то, что видит пользователь. Ну там, текста, стиля, атрибута и пр. Обычное $().sholdHave(text("новый текст")) - это оно самое.

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

ну так вы про Фому, а вам про работу селениума и селенида: ui-ные тесты завязывать на логику работы фронтенда – зло (только если вы не разработчик, который пишет тесты сразу же рядом с самим ui).
Вам нужно выделить критерий, по которому вы однозначно определите, что ui делает то, что вы хотите (что он позволит пользователю сделать то, что он захочет сделать, или получить нужную информацию в виде текста, цвета (зеленый/красный/…) элемента или типо того, и этот момент собственно тестировать

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

Тише, тише, ковбой. :slight_smile:

Я ведь сказал: “Обычный ответ - надо ждать…” Обычный. Ответ. Тут не было ничего про ваш конкретный случай.

2 лайка