java测试报告html_java testng 使用 extentreports 测试报告

文章目录

testng 原版的测试报告太难看了,这里采用 extentreports 测试报告,效果很赞有没有!

50a55c1be1b87f7e8800ea6e43990c89.png第一步:配置依赖

除了基本 testng 的依赖外,还要如下依赖:

com.aventstack

extentreports

3.1.5

第二步:编写测试报告监听器类

extentreports 的测试报告监听器类怎么写呢?

可以参照如下官方编写 demo,官方讲解非常非常清楚

extentreports 官方使用 demo

英文不好的小伙伴,可以参照 testerhome 中已经翻译过的这篇文章

extentreports 社区翻译版 demo

在自己测试项目 listener 包中新建一个监听器类 ExtentTestNGIReporterListener.java 然后代码如下:

public class ExtentTestNGIReporterListener implements IReporter {

private static final String OUTPUT_FOLDER = "test-output/";

private static final String FILE_NAME = "Extent.html";

private ExtentReports extent;

@Override

public void generateReport(List xmlSuites, List suites, String outputDirectory) {

init();

for (ISuite suite : suites) {

Map result = suite.getResults();

for (ISuiteResult r : result.values()) {

ITestContext context = r.getTestContext();

buildTestNodes(context.getFailedTests(), Status.FAIL);

buildTestNodes(context.getSkippedTests(), Status.SKIP);

buildTestNodes(context.getPassedTests(), Status.PASS);

}

}

for (String s : Reporter.getOutput()) {

extent.setTestRunnerOutput(s);

}

extent.flush();

}

private void init() {

ExtentHtmlReporter htmlReporter = new ExtentHtmlReporter(OUTPUT_FOLDER + FILE_NAME);

htmlReporter.config().setDocumentTitle("ExtentReports - Created by TestNG Listener");

htmlReporter.config().setReportName("ExtentReports - Created by TestNG Listener");

htmlReporter.config().setTestViewChartLocation(ChartLocation.BOTTOM);

htmlReporter.config().setTheme(Theme.STANDARD);

extent = new ExtentReports();

extent.attachReporter(htmlReporter);

extent.setReportUsesManualConfiguration(true);

}

private void buildTestNodes(IResultMap tests, Status status) {

ExtentTest test;

if (tests.size() > 0) {

for (ITestResult result : tests.getAllResults()) {

test = extent.createTest(result.getMethod().getMethodName());

for (String group : result.getMethod().getGroups())

test.assignCategory(group);

if (result.getThrowable() != null) {

test.log(status, result.getThrowable());

}

else {

test.log(status, "Test " + status.toString().toLowerCase() + "ed");

}

test.getModel().setStartTime(getTime(result.getStartMillis()));

test.getModel().setEndTime(getTime(result.getEndMillis()));

}

}

}

private Date getTime(long millis) {

Calendar calendar = Calendar.getInstance();

calendar.setTimeInMillis(millis);

return calendar.getTime();

}

}

IReporter 是 testng 自带的报告接口,一般测试报告监听器会继承它。这个监听器中很多地方可以去做定制化的修改

第三步:testng.xml 配置监听器

代码如下:

第四步:查看测试报告

运行测试用例之后,你会在项目下 test-output 中看到 Extent.html 测试报告

36501a9b5879d656bdf9159f725d7a36.png

4a668feaa3018a2e1706f07e5002bcc8.png

abcnull

发布了134 篇原创文章 · 获赞 44 · 访问量 6万+

私信

关注

标签:java,测试报告,extentreports,result,extent,test,htmlReporter,监听器

来源: https://blog.csdn.net/abcnull/article/details/104095224

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值