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