Инициализиация библиотек шагов для Allure

Привет.

Некоторое время назад перешел на Allure с Serenity. В Allure есть аналогичная Serenity аннотация @Step, но нет аналогичной аннотации @Steps, из-за чего, используемые в тесте классы библиотек шагов нужно инициализировать вручную (что есть избыточный, громоздкий и повторяющийся код).

Сейчас инициализация библиотек шагов выглядит примерно так (используется testNG):

public class Test1 {

private StepsAlpha stepsAlpha;
private StepsBetta stepsBetta;
private StepsGamma stepsGamma;

    @BeforeClass
    public void init() {
        stepsAlpha = new StepsAlpha(driver);
        stepsBetta = new StepsBetta(driver);
        stepsGamma = new StepsGamma(driver);
    }
}

Хотелось бы это сделать так, как это есть в Serenity, т.е. указать аннотацию (например @Steps, по которой будет происходить инстанцинация нужных переменных (библиотек классов) и внедрение их в тестовый класс:

public class Test1 {

@Steps
private StepsAlpha stepsAlpha;

@Steps
private StepsBetta stepsBetta;

@Steps
private StepsGamma stepsGamma;

}

Может быть есть какие-то готовые библиотеки, которые позволяют сделать это, чтобы можно было использовать совместно с Allure, или придётся писать свой велосипед?

Guice, Spring IoC

Это то, с помощью чего можно сделать велосипед, сюда же можно добавить AspectJ

Serenity BDD - это полноценный BDD фреймворк с богатой функциональностью.
Allure - инструмент для генерации красивых отчетов, не более того.
Поэтому при переходе с Serenity на Allure без велосипедов никак.
Однако, ничто не мешает Вам использовать их совместно, например.

Serenity и Allure совместно? :slight_smile:
Если серьёзно, это очень плохая идея: начиная от ненужного потребления памяти, и заканчивая десятками лишних библиотек, которые будет подтягивать тот же Serenity, а учитывая его минусы, и количество багов/слабых мест, поддержка такого творения (если даже и заведётся) бдует занимать больше времени, чем написание тестов, ну и т.д.

Тогда DI фрейворки Вам в помощь. Allure не умеет что Вы хотите.