以下是在TestNG中使用Allure报告添加详细信息到环境部分的代码示例:
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
import io.qameta.allure.Description;
import io.qameta.allure.Epic;
import io.qameta.allure.Feature;
import io.qameta.allure.Step;
@Listeners({AllureListener.class}) //加入监听器
@Epic("API Tests")
@Feature("Allure with TestNG")
public class EnironmentDetailsTest {
@Step("Verify environment details")
@Test
@Description("This test case is used to verify environment details in Allure report")
public void verifyEnvironmentDetails() {
//执行测试并验证环境细节
}
}
import org.testng.ITestContext;
import org.testng.ITestListener;
import org.testng.ITestResult;
import io.qameta.allure.Allure;
import io.qameta.allure.model.Status;
public class AllureListener implements ITestListener {
@Override
public void onStart(ITestContext context) {
//略过
}
@Override
public void onFinish(ITestContext context) {
//略过
}
@Override
public void onTestStart(ITestResult result) {
//略过
}
@Override
public void onTestSuccess(ITestResult result) {
if (result.getMethod().getConstructorOrMethod().getMethod().isAnnotationPresent(Description.class)) {
String description = result.getMethod().getConstructorOrMethod().getMethod().getAnnotation(Description.class)
.value();//获取测试方法上的描述
String environmentDetails = getEnvironmentDetails();//获取环境细节
Allure.getLifecycle().updateTestCase(testResult -> testResult.setDescription(String.format("%s\n\nEnvironment Details:\n%s",
description, environmentDetails)));