allure2 监听器输出控制台中的步骤

allure2 listener to output the steps in console

我正在将 Allure2 与 TestNG 结合使用。我想编写自己的监听器,在控制台输出中打印@Steps。

我在 allure 中看到了接口 "StepLifecycleListener" 但我无法在 TestNg 中实现此侦听器。任何指示?

@Override
public void beforeStepStart(final StepResult result) {
    System.out.format("Starting step: %s", result.getName());

}


@Override
public void afterStepStop(final StepResult result) {
    System.out.format("Completed step: %s", result.getName());

}

Allure 2 监听器由SPI 机制管理。因此,您需要执行几个步骤才能使其正常工作:

  • 实现 StepLifecycleListener 接口并覆盖所需的方法。
  • 在项目的 resources 根目录中创建 META-INF/services 个文件夹。
  • 在上面的文件夹中用这个接口的全名新建一个文件
  • 将实现的完整路径 class 添加到此文件中。

您可以在以下项目中找到示例:https://github.com/sskorol/allure2-testng-report/blob/master/src/test/resources/META-INF/services/io.qameta.allure.listener.StepLifecycleListener

关于 SPI 的更多信息:http://docs.oracle.com/javase/tutorial/sound/SPI-intro.html