Allure скриншоты с maven-surefire + testng

screenshot
allure
selenide
maven
Теги: #<Tag:0x00007f7b656b06d8> #<Tag:0x00007f7b656b0520> #<Tag:0x00007f7b656b0368> #<Tag:0x00007f7b656b0160>

(Vladyslav Lopatynskyi) #1

Доброго времени суток!
имеется 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

скриншоты не генерируется.

Не могу понять в какую сторону даже копать, может у кого-то есть идеи почему так происходит?

Заранее благодарен!


(Vladyslav Lopatynskyi) #2

Небольшой апдейт.
При ремоут дебаге тест рана из-под мавена, оказывается при Fail ивенте, Листенер который мы добавили в Логгер селенида не отрабатывает. Судя по всему просто вылетает раньше.
МОжет у кого есть идеи куда копать дальше?:slight_smile:


(Антон Афтахов) #3

Давай пример кода, скорее всего у тебя какой-то хитрый перехватчик есть.


(Vladyslav Lopatynskyi) #4

По итогу все оказалось в принципе логично.
Когда мы добавляем в Selenide кастомный listener вот так SelenideLogger.addListener("AllureSelenide", new AllureSelenide().screenshots(TestConfig.SCREENSHOT).savePageSource(false));
Он живет до момента как умирает драйвер. В моем сэтапе у меня он запускается до самого теста чтобы подготовить куки. Listener я добавлял в BeforeSuite, и как уже понятно, после arrange метода, листенер не подхватывался.
Запихнул добавления этого листенера в BeforeClass так как тесты у меня параллелятся по классам и все завелось.

В принципе, поведение Селенида вполне адекватное, однако было бы наверное прекрасно задать его только один раз, но это наверное совсем другая история, так как у Селенида нет возможности смотреть на suite execution и он живет пока живет драйвер