JBehave пустой контекст

Serenity и JBehave используются для одного набора тестов. Я пытаюсь получить текущие имена историй и сценариев для именования видео BrowserStack. Как я читал в официальной документации для этих целей используется ContextView. Я получил код ниже из официальный репозиторий и немного изменил его:

public class MyStory extends SerenityStories {

  private final CrossReference xref = new CrossReference();
  private Context context = new Context();
  private Format contextFormat = new ContextOutput(context);
  private ContextView contextView = new JFrameContextView().sized(640, 120);
  private ContextStepMonitor contextStepMonitor = new ContextStepMonitor(context, contextView, xref.getStepMonitor());

  @Override
  public Configuration configuration() {
      Configuration configuration = super.configuration();
      configuration.useStepMonitor(contextStepMonitor);
      return configuration;
  }

}

После выполнения я увидел окно JFrame только с текущим шагом. Но context.getCurrentScenario(); и context.getCurrentStory(); всегда нулевые.

Все, что мне нужно, это получить имя сценария перед вызовом драйвера и установить его в возможностях драйвера. Что я делаю не так? Может быть, есть другой способ сделать это?

P.S. безмятежность-jbehave 1.13.0, безмятежность ядра 1.2.3-rc.5


person evv_gen    schedule 16.11.2018    source источник


Ответы (1)


Вам нужно добавить экземпляр ContextStoryReporter в свою конфигурацию:

configuration.storyReporterBuilder().withReporters(new ContextStoryReporter(context));
person VaL    schedule 21.11.2018