如何使testng侦听器在@AfterClass批注之前运行?

问题描述 投票:0回答:1

场景-我有一个侦听器,它为执行生成报告。我想将生成的测试报告添加到数据库中。我在@AfterClass批注中有一个函数,需要将生成的报告添加到数据库中。

我面临的问题-侦听器仅在执行@AfterClass方法时才生成报告。

一旦执行@Test批注测试,是否有办法让侦听器生成报告,并将生成的报告添加到@AfterClass批注中的数据库中?

请让我知道是否有更好的方法可以实现这一目标。

java selenium testng appium listener
1个回答
0
投票

如果使用TestListenerAdapter实现了自己的测试侦听器,则可以使用方法onStartonFinishonTestSuccessonTestFailure。因此,如果您需要在每次测试后生成报告,只需将逻辑放入这些方法中即可。

public class TestListener extends TestListenerAdapter {

    @Override
    public void onTestFailure(ITestResult iTestResult) {
    //your logic for report generation
    }

    @Override
    public void onFinish(ITestContext iTestContext) {
    //your logic for report generation
    }

    @Override
    public void onTestSuccess(ITestResult iTestResult) {
    //your logic for report generation
    }
}

我不知道在什么情况下应该生成(以及如何生成)报告,但是根据您的需要,您可以将报告逻辑放入相关方法中。

© www.soinside.com 2019 - 2024. All rights reserved.