allure2侦听器在控制台中输出步骤

2022-02-27 00:00:00 allure java testng

我将Allure2与TestNG一起使用。我想编写我自己的侦听器,它在控制台输出中打印@step。

我在Traure中看到了接口"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文件夹。
  • 在上面的文件夹中使用此接口的全名创建一个新文件。
  • 将实现类的完整路径添加到此文件中。

您可以在以下项目中找到一个示例: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

相关文章