Allure report без @Step, а с красивыми шагами из методов

Всем привет! Подключил Allure report к проекту Java + Selenide + TestNg. Не хочу над каждым методом прописывать аннотацию @Step и при этом получить красивый отчет с шагами из методов теста (Например метод openLoginPage() в отчете будет указан как шаг Open login page) Может кто-то использует в работе такой подход и сможет подсказать как это реализовать. Спасибо!

Вроде, это Allure Framework надо сделать.

Ну это не совсем то что мне нужно. Я хочу каким то образом реализовать это так что бы названия методов, которые используются в тестах в отчете отображались шагами, как я описал это в примере

Мммм, ну тогда это - Automation Remarks

Вот это я тоже находил, но не очень понял что и куда мне нужно добавить. Так же у меня переопределение этого метода подчеркивается красным:

@Override
    public void onEvent(final LogEvent event){
}

Откуда вообще этот метод переопределяется? :slight_smile:

Потому что статья немного устарела. Надо брать за основу allure-java/AllureSelenide.java at master · allure-framework/allure-java · GitHub

Спасибо! А есть идеи, как мне все это переделать, что бы получить тот результат, который я хочу?

Если я не ошибаюсь, то в java всё это дело работает так же через аспекты.
А аспекту надо знать, в какой метод инжектиться. Именно это и делает аннотация.

Вы же можете написать свой аспект, который будет аннотировать все методы подряд :slight_smile:

Не уверен я что смогу это реализовать :grinning: Но неужели все используют стандартную аннотацию @Step, если нет, то почему я не нашел больше полезной информации, кроме статьи, которую скинул @BabyRoot

Может попробовать какую-то свою аннотацию которую будете вешать на класс типа @ConvertToStep, написать свой листенер который будет смотреть что если класс имеет такую аннотацию то все его методы являются шагами.
Лично мне хватает аннотации @Step, даже не возникало никогда проблем с этим

2 лайка

Попробуйте JDI там все шаги логируются по умолчанию и в итоге вы получаете красивый репорт.
https://jdi-docs.github.io/jdi-light/
Но если хотите логировать свои методы без аннотаций, то надо написать свой аспект. Это очень просто, но ему все равно надо указать какие шаги логировать (допустим все находящиеся в некой папке или удовлетворяющие каким-то другим критериям)

Вы хорошую идею подкинули, но только я не особо в курсе как мне этот листенер описать, а главное как указать что это относится именно к алюру…