- Если
metCondition()
возвращаетfalse
, это значит что был брошенError
, а значит его перехватывает селенидовский листенер, а значит делается лишний скриншот и сохраняется лишняя страница. Исправить это можно, сделав метод через цикл соSleep
-ом и передавая в негоCondition
, который используется дляSelenideElement.is(Condition)
, который не задействует ожидания и ничего не выбрасывает (в обычной ситуации). - Надо бы переделать метод
marketCheckAllPages()
во что-то реюзабельное, например создать класс вродеPagesChecker
и с помощью него делать проверки с прогоном по всем страницам. Сейчас же он по сути является частью конкретного теста и захламляет класс тестов. Должен получиться отличныйhelper
, который можно будет использовать вообще с любыми сайтами/страницами, где есть пагинация. - Разобраться как следует в
maven
и заполнить раздел Build
- Помимо обычного
.gitignore
, есть еще его глобальная версия, которую обычно кладут туда же, где лежит.config
. За счет него можно почистить расшариваемый вариант, а также создавать какие-то вспомогательные файлы, о случайном попадании в коммит которых не нужно беспокоиться. Крутецкая вещь. - Код, выполняемый на странице в браузере, можно остановить и поймать, например, спиннер загрузки товаров.
- Использование Junit-овских софт ассертов не позволяет создавать подробные
message
- ы, точнее позволяет, но для каждой переменной передаваемой в лямбду приходится делать ее(effectively) final
копию. То же относится и к Allure-овскому методуstep()
. Не нравится. - Забавно, что судя по всему на сегодняшний день не существует вменяемого способа узнать какую версию XPath использует браузер или его драйвер (по крайней мере для Хрома). Остается только стучаться в методы, специфичные для разных версий, и смотреть какие из этих вызовов упали.