gpt4 book ai didi

java - ITestListener - ExtentReport

转载 作者:行者123 更新时间:2023-12-02 03:33:35 24 4
gpt4 key购买 nike

目前我正在使用 ExtentReport 生成自动化报告。

我使用 ExtentReport 的方式是使用 IReporter 实现在测试结束时生成报告,这很棒。

但是,现在我正在考虑创建一种在执行测试时监视测试的方法,而 IReporter 无法实现这一点。

我想使用 ITestListener 创建一个单独的监听器来获取实时结果。

有人用过 ExtentReport 吗?或者类似的东西?

任何有用的文章或正确方向的指南将不胜感激。

谢谢。

编辑:基本上需要一种方法来生成 ITestListener 实时控制台输出到实际的 HTML Reprot,我可以从那里而不是控制台查看测试进度

最佳答案

它应该看起来像:

import com.relevantcodes.extentreports.*;
import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.internal.IResultListener;

import java.util.Arrays;
import java.util.Locale;

/**
* Created by andrey.smirnov on 14.06.2016.
*/
public class ExtentListener implements IResultListener {

private ExtentReports reporter = new ExtentReports("build/SimpleReport.html", true, DisplayOrder.NEWEST_FIRST, NetworkMode.OFFLINE, Locale.ENGLISH);
private ExtentTest testReporter;


@Override
public void onTestStart(ITestResult result) {
testReporter = reporter.startTest(result.getMethod().getMethodName(), "Some description");
testReporter.log(LogStatus.INFO, "Starting test " + result.getMethod().getMethodName());
}

@Override
public void onTestSuccess(ITestResult result) {
testReporter.log(LogStatus.PASS, "Test PASSED");
reporter.endTest(testReporter);
reporter.flush();
}

@Override
public void onFinish(ITestContext context) {
reporter.close();
}

// Other interface methods
}

它将在每次测试完成时提供报告更新。请引用documentation关于测试并行运行。此外,最好将 ExtentReports 实例作为 TestNG 上下文属性传递,例如iTestContext.setAttribute("reporter",reporter) 并在监听器中使用它。

关于java - ITestListener - ExtentReport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37723538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com