Size: a a a

Selenide на русском

2021 October 18

BO

Boris Osipov in Selenide на русском
отличный вопрос. как выразить на селениде то что я словами не могу выразить
источник

И

Изя in Selenide на русском
Есть скрин, там исключение, что под капотом исключения не ясно мне. Понятно что: Не все элементы загрузились, количество элементов видно. Проверить можно количество элементов, то что коллекция пуста, а вот инцидент не ясно к чему относится. Он и не пуст и не полон. Но как добиться того чтобы всё загрузилось? Я добился этого слипами. Но руководство не желает их видеть в коде. Вот и нужно как то в ConditionCollection взять такое выражение, чтобы было ожидание полной загрузки данных из коллекции.
источник

VF

Vlad Filin in Selenide на русском
Борис как бы спрашивает, что является критерием полной прогрузки данных ? Когда вы ответите на этот вопрос, вы сможете реализовать свою ожидалку
источник

И

Изя in Selenide на русском
Необходимо чтобы пришли все наименования товаров, на скрине всё видно.
источник

VF

Vlad Filin in Selenide на русском
Вопрос, возможно, возникает потому, что на скрине(там где код из идеи, полагаю) видно только, что у вас StaleElementReferenceException. Когда вы пишете про прогрузку данных, то я себе это в голове представляю так, что в вашу табличку(условно) должны вгружаться данные, а они вгружаются не сразу, а постепенно.
источник

И

Изя in Selenide на русском
Да, если поставить слип минута или полминуты, исключения нет.  shouldBe(Condition, Duration) возможно применить, но прописать в condition наименования тегов или стилей и пр. не могу, структура ДОМа такая, что не удастся. Встает вопрос, как прописать в условиях полную видимость и степень загруженности данными.
источник

AS

Andrei Solntsev in Selenide на русском
Ну а тупо $$.shoulsHave(texts("a", "b", "c")) не подойдёт разве?
источник

И

Изя in Selenide на русском
Уважаемый Андрей. Содержание текста не известно. UI реальный сайт, фильтры по наличию товара. бренду и прочему каждый раз отправят новые данные, предугадать наименования не удастся.
источник

AS

Andrei Solntsev in Selenide на русском
Так что же вы от нас-то хотите?
источник

AS

Andrei Solntsev in Selenide на русском
$.should(сделай_мне_чтобы_всё_работало_)
источник

И

Изя in Selenide на русском
Вот я Выше отписался.
источник

И

Изя in Selenide на русском
Была бы крутая фича.
источник

VF

Vlad Filin in Selenide на русском
Хз, я бы написал кастомный кондишн.
У вас есть определённая структура таблички с данными, назовём её условно Table и рядки в ней - Row.

У каждого рядка единая структура, условно у каждого tr есть td(1) наименование, td(2) цена, и т.д.

Я бы на вашем месте написал бы кондишн, который будет убеждать в том, что что каждый td у каждого tr имеет текст, length которого > 0, или же StringUtils.isNotEmpty(если очень грубо).

У этого подхода есть недостатки, в частности, изменение структуры таблицы вам все сломает.

Но как вариант, можно попробовать)
источник

И

Изя in Selenide на русском
Как вариант, надо проверить. Есть еще предположение, что всё таки придется в условиях написать теги, дублем xpath.
источник

И

Изя in Selenide на русском
Всё равно всем спасибо.
источник

YM

Yevgeniy Mikhailov in Selenide на русском
Ну должны же быть у вас самих критерии загружаемости сайта, если элементы разные- ок, но их количество хотя бы можно ждать ведь? Автоматизируйте тоже самое, что делаете руками, иначе это немного непонятно, как тестируется это изначально
источник

VF

Vlad Filin in Selenide на русском
Это очень громоздкое решение будет, тем не менее)
Как ещё один вариант - попросите ФЕ девелоперов прикрутить аттрибут loaded=true к вашей табличке, который будет давать true когда все ок, и будет пустым когда ещё не прогружено все)
А вы будете ожидать умными ожидалками Селенида момент когда значение аттрибута либо будет = true, либо не будет пустым)
источник

VF

Vlad Filin in Selenide на русском
И этот вариант мне кажется проще, лучше, быстрее и изящнее, без велосипедов)
источник

И

Изя in Selenide на русском
Ожидать количество, да можно как условие сделать. Спасибо.
источник

VF

Vlad Filin in Selenide на русском
Т.е. вы можете знать количество? Вы говорили, что не знаете, что вам вернёт бэк в результате сортировки
источник