Проверка на то, что в коллекции элементов есть какое либо значение

locators
java
webdriver
selenide
Теги: #<Tag:0x00007f7b64b8b488> #<Tag:0x00007f7b64b8b348> #<Tag:0x00007f7b64b8b208> #<Tag:0x00007f7b64b8b0c8>

(Vassil Chorniy) #1

У меня подгружается таблица, динамически населяемая в зависимости от параметров, и может быть как заполненной, так и содержать единственное значение “0”.


shouldHave(not(empty)) для списка элементов не корректен

Подскажите как реализовать проверку что список не пустой, либо что список содержит какой то(любой) текст.


(Vatslau) #2

filter(условие).shouldHaveSize(1)


(Vassil Chorniy) #3

С условием у меня проблемы, не могу придумать какое поставить. там получается грубо говоря два вида таблиц:
Либо такая, если данные есть в базе


Либо такая, если данных нет

И еще вопрос, shouldHaveSize(1) означает что размер должен тыть четко 1 или может быть больше?


(Vassil Chorniy) #4

И может подскажите как в selenide вывести все значения коллекции на экран?
Спасибо


(Vatslau) #5

Это ровно 1, но там есть и другие варианты - поставьте точку и посмотрите методы - выбор богатый встроенных проверок

  .filter(Condition.text("aыффыфыфыфыфы"))

неужели не один не подошёл?

и вообще -xpath в студию
может не туда тыкаете
+html ку


(Vassil Chorniy) #6

html в первом посте, таких td может быть много если данных много.
//*[@class='x-grid-cell-inner '] - собственно xpath. По тексту фильтры не подходят ибо не знаю какой текст будет в ячейках, база меняется часто.
Кажется я придумал как выкрутится, чделаю проверку - * sizeGreaterThanOrEqual(int), потому что если вариант с нулем, то в коллекции всегда будет 13 элем, если же данные будут, то и элементов будет больше.


(Vatslau) #7

запрос в базу
ответ в переменную
переменную в фильтр

вообще что вы желаете протестировать не контролируя тестовые данные


(Vassil Chorniy) #8

Спасибо за ответ.
Уже контролирую тестовые данные, стал создавать их сам в тесте…