@ Aftertest@AfterSuite@AfterClass当我们谈论在电子邮件中发送最新报告时,对我而言没有任何帮助。
@AfterSuite
public void statusupdate() throws Exception
{
SendMail.execute();
}
这是我正在做的事情,每次我都在挣扎JAVA时也遇到我的emailable-report.html的较旧版本的情况,因此希望有人可以帮助我了解这里的问题。我的假设是我要在生成新报告之前发送电子邮件,但是不知道下一步该怎么做。感谢您的耐心配合和您的回复。
最好的办法是使用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();
}
}
我希望这能满足您的需求,如果没有让我知道。