TestNG没有发送最新的emailable-report.html

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

@ Aftertest@AfterSuite@AfterClass当我们谈论在电子邮件中发送最新报告时,对我而言没有任何帮助。

@AfterSuite
    public void statusupdate() throws Exception 
    {
                SendMail.execute();
    }

这是我正在做的事情,每次我都在挣扎JAVA时也遇到我的emailable-report.html的较旧版本的情况,因此希望有人可以帮助我了解这里的问题。我的假设是我要在生成新报告之前发送电子邮件,但是不知道下一步该怎么做。感谢您的耐心配合和您的回复。

selenium testing testng browser-automation
1个回答
0
投票

最好的办法是使用Listeners帮助自己完成报告,而不是使用@afterXxxx方法。

因此您可以执行以下操作:

import org.testng.annotations.Listeners;

@Listeners(TestListener.class)
public class MyTestClass {

    @Test
    public void myTest {
        doTest();
    }

}

您的侦听器在onFinish方法中具有SendMail操作的位置:

import org.testng.ITestContext;
import org.testng.ITestListener;
import org.testng.ITestResult;

public class TestListener implements ITestListener {

    @Override
    public void onTestStart(ITestResult result) {
    }

    @Override
    public void onTestSuccess(ITestResult result) {
    }

    @Override
    public void onTestFailure(ITestResult result) {
    }

    @Override
    public void onTestSkipped(ITestResult result) {
    }

    @Override
    public void onTestFailedButWithinSuccessPercentage(ITestResult result) {
    }

    @Override
    public void onStart(ITestContext context) {
    }

    @Override
    public void onFinish(ITestContext context) {
        SendMail.execute();
    }

}

我希望这能满足您的需求,如果没有让我知道。

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