На мой взгляд, ваше лучшее решение и то, что я делаю со своими историями, это иметь класс базовых шагов, который содержит @BeforeStories и содержит только общие шаги, необходимые для всех историй.Затем я размещаю @BeforeStory в каждом классе шагов для удовлетворения требований, специфичных для этой истории.
В качестве примера, в моем наборе тестов Appium я размещаю код для запуска Appium Server и код для инициализации моегоОбъект отчетов об экстентах в @BeforeStories в базовом классе.
Однако, поскольку каждая история имеет свое собственное приложение, я не устанавливаю там соединение, а делаю это в @BeforeStory каждого класса шагов, вместе сдальнейшее определение объекта Extent Reports и запуск эмулятора, если применимо.
Первоначально у меня были эти шаги @BeforeStory в моем базовом классе @BeforeStories, пока у меня не было нескольких историй для запуска.