Вся проблема в том, при запуске первого тесткласса все хорошо, а когда начинает запускать второй то первый же тест падает с ошибкой на этой строке loginPage.login(…), так как креды введенные на первом тестклассе “запомнились” и во второй раз open() открывает сайт как уже для залогиненного пользователя.
пробовал в @AfterAll вызывать clearBrowserLocalStorage() и clearBrowserCookies() – не помогло
Мне видится решение так:
запускать для каждого класса “чистый” браузер без данных с предыдущих запусках,
либо сделать так чтобы @BeforeAll работал не для методов класса, а для всех классов с тестами (глобальный такой бефор),
либо объеденить все классы в сьют и открывать браузер перед ним (бефорсьют, но я такого не нашел)
помогите реализовать какой-нибудь из перечисленных вариантов, я потыкался но не нашел решения самостоятельно
Selenide 7.0.4 + JUnit5 5.9.2
Вообще вроде норм тема, закрывать браузер после каждого тестового класса, ибо если этого не делать, на машине будет собираться мусор из-за создания драйверов браузера. Поэтому нормально сделать:
Из дома только примерно могу проверить, но кажется Selenide.closeWebDriver(), что @Nikita_Gritskevich рекомендовал помогает. Завтра на работе проверю наверняка.
И Props из меню на не статик тоже.
Не, тут вообще же не указано, что для разного пользователя) Просто страно, зачем делать логин в базовом классе, ибо рано или поздно придется проверять логин, и что тогда, логаут делать что-ли)
Рад помочь:) Помечай как решения вопроса. Суть проблемы было в том, что ты работал как я понимаю в рамках одной сесси, что при попытке навигейт на страницу логина происходил редирект, так как сессия активная уже существовала. Поэтому решения в принципе два: очистка сессия в браузере, закрытие драйвера(приоритетно)