无意之间在整理testng 报告输出的文档时,发现一个美化testng的报告的插件,感觉确实“漂亮”,但是还不确定是否实用,案例来自官方网站自己添了一些内容,更改了存放路径,本地目前已确定可正常运行,官方网址:http://extentreports.com/documentation/version-2/

1.配置maven依赖

<dependency>
<groupId>com.relevantcodes</groupId>
<artifactId>extentreports</artifactId>
<version>2.40.2</version>
</dependency>

2.创建一个测试类,我是mytest

自己添加了5个测试方法,3个正确,2个错误

查看展示效果

demo代码

package com.test.appuimtest;

import org.apache.tools.ant.util.facade.FacadeTaskHelper;
import org.testng.Assert;
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test; import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.ExtentTest;
import com.relevantcodes.extentreports.LogStatus; import until.publicmethod; public class mytest {
public class SingleLogTest extends BaseExample {
@Test
public void passTest() {
test = extent.startTest("passTest");
test.log(LogStatus.PASS, "Pass");
Assert.assertEquals(test.getRunStatus(), LogStatus.PASS);
} @Test
public void intentionalFailure() throws Exception {
test = extent.startTest("intentionalFailure");
throw new Exception("intentional failure");
} @Test
public void Mytest1(){
test = extent.startTest("Mytest1");
Assert.assertTrue(true);
}
@Test
public void Mytest2(){
test = extent.startTest("Mytest2");
Assert.assertTrue(true);
}
@Test
public void Mytest3(){
test = extent.startTest("Mytest2");
Assert.assertTrue(false);
}
} public static class ExtentManager {
private static ExtentReports extent; public synchronized static ExtentReports getReporter(String filePath) {
if (extent == null) {
extent = new ExtentReports(filePath, true); extent
.addSystemInfo("Host Name", "Anshoo")
.addSystemInfo("Environment", "QA");
} return extent;
}
} public abstract class BaseExample {
protected ExtentReports extent;
protected ExtentTest test;
final String filePath = "d:\\Extent.html"; //这里需要更改创建的存放路径 @AfterMethod
protected void afterMethod(ITestResult result) {
if (result.getStatus() == ITestResult.FAILURE) {
test.log(LogStatus.FAIL, result.getThrowable());
} else if (result.getStatus() == ITestResult.SKIP) {
test.log(LogStatus.SKIP, "Test skipped " + result.getThrowable());
} else {
test.log(LogStatus.PASS, "Test passed");
} extent.endTest(test);
extent.flush();
} @BeforeSuite
public void beforeSuite() {
extent = ExtentManager.getReporter(filePath);
} @AfterSuite
protected void afterSuite() {
extent.close();
}
}
}

  

在继续补充,发现在报告下面还可以增加图片和视频,添加出来的效果如下

使用extentreports美化报告的更多相关文章

  1. extentsreport testng美化报告生成

    一:主要内容 优化testng测试报告,使用extentsreport 解决extentsreport打开后加载不出来样式的问题 二:报告效果 先上图,看下testng extentsreport报告 ...

  2. 使用extentreports美化testng报告2,增加监听

    有兴趣研究了extentreports报告美化插件,但是因为发现插件有很多内容不能自定义,所以放弃了这个插件,我扩充了官方代码的demo,在testng中增加了监听,并打印了一些测试用例,现在我把两个 ...

  3. 【转】自动化框架中引入ExtentReport美化报告

    本文链接:https://blog.csdn.net/qq_30353203/article/details/82023922一.先引入三个依赖包 <dependency> <gro ...

  4. 用ExtentReports美化你的测试报告

    前言 在实际的自动化测试工作中经常会用到一些报告生成工具大概分为两类,一类是测试框架自带的报告生成工具如:JUnit+Ant.TestNG:另一类就是专用报告工具如ReportNG等.这些报告要么在U ...

  5. cucumber:extentreports集成报告

    extentreports 测试报告 只支持java..Net 先在pom.xml文件中加入包引用 <!-- report--> <dependency> <groupI ...

  6. 测试报告ExtentReport改进

    具体步骤Step-1:在pom.xml文件中添加 Maven 依赖包 <?xml version="1.0" encoding="UTF-8"?> ...

  7. extentreports报告插件与testng集成(二)

    之前的一篇文章中,是把extentreports 的报告的初始方法写在driver的初始方法中,写报告的方法在testng的 onTest中,这次将这些方法全都拆出来,写在一个方法类中,这个类重现实现 ...

  8. testng报告-extentsReports使用-klov

    extentreport部分参考: https://blog.csdn.net/Care_sQueendom/article/details/78651950 https://testerhome.c ...

  9. HTMLTestRunner测试报告美化

    前言 ​最近小伙伴们在学玩python,,看着那HTMLTestRunner生成的测试报告,左右看不顺眼,终觉得太丑.搜索了一圈没有找到合适的美化报告,于是忍不住自已动手进行了修改,因习惯python ...

随机推荐

  1. Sqlite和mysql的区别及优缺点

    小型嵌入式,跟mysql差不多,但更小,功能也少,属于本地数据库多用于读多写少,100W以下的数据压力不大,不支持分布式.   真正开源的小型嵌入式数据库,支持事务.触发器器  性能至少优于mysql ...

  2. Appium appium 基础之键盘处理

    方法1 AppiumDriver实现了在上述功能,代码如下(java版本) driver.sendKeyEvent(66);方法2 HashMap keycode = new HashMap();ke ...

  3. spark 2.X 疑难问题汇总

    当前spark任务都是运行在yarn上,所以不用启动长进程worker,也没有master的HA问题,所以主要的问题在任务执行层面. 作业故障分类故障主要分为版本,内存和权限三方面. - 各种版本不一 ...

  4. log4j2重复打印日志问题解决

    log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <Configuration> &l ...

  5. webstorm中.vue报错(es6语法报错)-转

    1.webstorm中es6语法报错,解决方法: 打开 Settings => Languages & Frameworks => Javascript把 Javascript L ...

  6. Python 15 I/O编程

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

  7. js监听dom元素内容变化

    $("#divid").bind('DOMNodeInserted', function(e) { alert('element now contains: ' + $(e.tar ...

  8. [转]how can I change default errormessage for invalid price

    本文转自:http://forums.asp.net/t/1598262.aspx?how+can+I+change+default+errormessage+for+invalid+price I ...

  9. (转)stty 命令说明及使用讲解

    stty 命令说明及使用讲解     UNIX系统的命令很多,但是巧妙使用命令的方法更多.随着经验的积累和观察学习其他用户的实践,我们也可学会解决特殊问题的方法.这里谈谈自己使用UNIX系统中stty ...

  10. VB.NET中的模块

    在C#中有“静态类”的概念,自然里边全部的方法都是静态的.这意味着你可以直接通过"类名.方法名"去调用(例如System的Math类就是典型).在VB.NET中,没有“静态类”的概 ...