Доброго времени суток!
имеется maven (surefire plugin 2.20) + testng + selenide 5.0.0 + allure-selenide 2.7.0
Дефолтный селенидовский скриншотер отключен, взамен использую аллюровский таким образом
SelenideLogger.addListener("AllureSelenide", new AllureSelenide().screenshots(TestConfig.SCREENSHOT).savePageSource(false));
Сейчас, если тесты запускаются из IDE (testNG ранером) скриншоты генерируются нормально и падают в обозначенную папку для аллюр результатов папку.
Однако, когда тесты запускаются через maven в виде
mvn clean test -Dgroups=test
скриншоты не генерируется.
Не могу понять в какую сторону даже копать, может у кого-то есть идеи почему так происходит?
Небольшой апдейт.
При ремоут дебаге тест рана из-под мавена, оказывается при Fail ивенте, Листенер который мы добавили в Логгер селенида не отрабатывает. Судя по всему просто вылетает раньше.
МОжет у кого есть идеи куда копать дальше?
По итогу все оказалось в принципе логично.
Когда мы добавляем в Selenide кастомный listener вот так SelenideLogger.addListener("AllureSelenide", new AllureSelenide().screenshots(TestConfig.SCREENSHOT).savePageSource(false));
Он живет до момента как умирает драйвер. В моем сэтапе у меня он запускается до самого теста чтобы подготовить куки. Listener я добавлял в BeforeSuite, и как уже понятно, после arrange метода, листенер не подхватывался.
Запихнул добавления этого листенера в BeforeClass так как тесты у меня параллелятся по классам и все завелось.
В принципе, поведение Селенида вполне адекватное, однако было бы наверное прекрасно задать его только один раз, но это наверное совсем другая история, так как у Селенида нет возможности смотреть на suite execution и он живет пока живет драйвер