ExtentReports的基本使用
一、ExtentReports的介绍
ExtentReports用于生成测试报告,不仅界面美观、使用简单,还可以定制相应的样式。
二、测试代码
首先写一个测试类,包含了4个测试方法,为了展示测试报告的多样性,这里的方法不是都可以测试通过,有的还会抛出异常。
package com.tester.extend.demo;
import org.testng.Assert;
import org.testng.Reporter;
import org.testng.annotations.Test;
public class TestMethodDemo {
@Test
public void test1(){
Assert.assertEquals(1,2);
}
@Test
public void test2(){
Assert.assertEquals(1,1);
}
@Test
public void test3(){
Assert.assertEquals("aaa","aaa");
}
@Test
public void logDemo(){
Reporter.log("这是我们自己写的日志");
throw new RuntimeException("这是我自己的运行时异常");
}
}
三、使用
- 在pom文件中配置相关依赖
<dependency>
<groupId>com.relevantcodes</groupId>
<artifactId>extentreports</artifactId>
<version>2.41.1</version>
</dependency>
<dependency>
<groupId>com.vimalselvam</groupId>
<artifactId>testng-extentsreport</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>3.0.6</version>
</dependency>
- 为了能够定制页面,需要在工程包下添加config配置监听的java类(不配置这个类,测试报告样式加载不出来),类中设置了测试报告生成的路径和文件名:
package com.tester.extend.demo;
import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.ExtentTest;
import com.aventstack.extentreports.ResourceCDN;
import com.aventstack.extentreports.Status;
import com.aventstack.extentreports.model.TestAttribute;
import com.aventstack.extentreports.reporter.ExtentHtmlReporter;
import com.aventstack.extentreports.reporter.configuration.ChartLocation;
import com.aventstack.extentreports.reporter.configuration.Theme;
import org.testng.*;
import org.testng.xml.XmlSuite;
import java.io.File;
import java.util.*;
public class ExtentTestNGIReporterListener implements IReporter {
//生成的路径以及文件名
private static final String OUTPUT_FOLDER = "test-output/";
private static final String FILE_NAME