StepListener для Аллюра2, проблема с добавлением инфы в конец шага

Написал и подключил свой слушатель для шагов. Слушатель работает.
Метод beforeStepStop не хочет ничего аттачить в сам шаг.
Метод afterStepStop аттачит не в шаг, а уже на более высокий уровень, всё в одну кучу.
Метод afterStepStart хорошо аттачит в сам шаг.
Что я делаю не так? Возможно ли что-то приаттачить в конце шага?
Версия аллюра

            <artifactId>allure-testng</artifactId>
            <version>2.0-BETA21</version>

Это баг, судя по исходникам:

Степ удаляется из хранилища до вызова beforeStepStop. Соответственно, атачменту некуда цепляться:

В целом, фикс выглядит простым. Гляну на днях.

1 лайк

Можете посмотреть примеры листнеров шагов в First draft of selenide integration by eroshenkoam · Pull Request #169 · allure-framework/allure-java · GitHub (листнер шагов selenide) и Automation Remarks (тут листнер любых методов без аннотации @Step)

Сергей, а ещё вопрос.
Собрал я свой проект с тестами в один джарник.
В нём, в метаИНФ есть папка сервисез с моим слушателем для степов (путь к классу слушателя корректный).
При запуске тестов слушатель для степов не подключился, в чём может быть проблема?

А есть скрин структуры jar со слушателем? Дабы исключить какие-то ошибки по невнимательности… Еще не ясно, как и чем запускается jar, на какой версии java / allure адптера и т.п.

П.С. Касательно оригинальной проблемы: фикс оказался не таким простым, как казалось. Там есть проблема еще и в lifecycle, который не запоминает id нужного степа при подобном способе взаимодействия. baev в отдельной ветке уже залил апдейт самого ЖЦ. Скорее всего придется вначале дождаться мерджа, а потом уже фиксить эту проблему (если будет еще актуальной).

Листенер лежит тут

Сервис тут (в нём путь прописан - crmsTFW.listeners.StepListener)

Локально запускаю через мавен (clean install и запускается Xml c тестами плагином maven-surefire-plugin), листенер подключается, всё корректно работает (в консольке отображаются степы, в отчете тоже).
На другой машине уже собранный jar запускается командой > java -cp crms-web-test-0.1-fat-tests.jar org.testng.TestNG -xmlpathinjar testng-empty.xml -testjar crms-web-test-0.1-fat-tests.jar
Тест корректно запускается, отчет аллюровский формируется, но листенер для степов уже не работает.
СДК последний 8, allure-testng - 2.0-BETA21, testng - 6.13.1

кому интересно - сделал небольшой проект Oops!

Так если слушатель подключен на уровне maven-surefire-plugin, логично, что это не будет работать в случае консольного запуска средствами TestNG. Нужно либо подключать слушателя на уровне xml / кода, либо использовать -listener флаг.

Для аллюра же слушатель для шагов подключается с помощью SPI. Локально оно и работает.
Он имплементит StepLifecycleListener, разве такой слушатель подключается в ТестНГ?

Да, это меня не в ту степь понесло. Подумал о testng слушателе в контексте рассмотрения другой задачи. Для Allure SPI юзается, все верно.

Хорошо, гляну тогда пример проекта на досуге.