TestNg框架大家都知道了,运行自动化测试用例非常方便,也可以自动生成测试报告。
我们来看一下testng自身的测试报告样式:
下面来看一下extentreport报告样式:
相比于testng自身的测试报告样式,extentreport报告就比较美观一些。
下面我们正式学习一下extentreport报告的生成过程:
- 在idea中创建一个maven项目,会自动生成一个pom.xml文件。在xml文件中配置extentreport的jar包和版本,会自动在maven中下载jar包,无敌巨方便。配置如下:
<dependencies>
<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>
</dependencies>
- 创建一个class文件,写一些测试类。
package ybbtest;
import org.testng.annotations.*;
public class PracticeTestng {
@BeforeMethod
public void beforeclass(){
System.out.print("用例之前运行");
}
@Test
public void test1(){
System.out.print("用例1");
}
@Test
public void test2(){
System.out.print("用例2");
}
@AfterMethod
public void afterclass(){
System.out.print("用例之后运行");
}
}
- 创建testng.xml文件,这里的监听是extentreport的自带监听,不用更改
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Test">
<test name="test">
<classes>
<class name="ybbtest.PracticeTestng" />
</classes>
</test>
<listeners>
<listener class-name="com.vimalselvam.testng.listener.ExtentTestNgFormatter" />
</listeners>
</suite>
- 运行testng.xml之后,生成一个test-output文件夹,打开报告后,报告页面一直打不开,是因为css加载不出来。
- 创建另一个监听类
package ybbtest;
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