承接上一篇:API 测试框架:cucumber+springBoot+restAssured
原始的cucumber report 比较粗糙,如图下:
我们可以通过cucumber-reporting 插件对报告进去优化,集成介绍如下:
1)在pom.xml里面添加cuccumber-reporting 插件
<!-- https://mvnrepository.com/artifact/net.masterthought/cucumber-reporting -->
<dependency>
<groupId>net.masterthought</groupId>
<artifactId>cucumber-reporting</artifactId>
<version>${cucumber-reporting.version}</version>
</dependency>
2)PrettyCucumberReport.java
增加一些configuration并生成新的报告
package com.example.demoForCucumber.config;
/*
* @author Helen Lee
* @create 2022/12/23
* @description: refer to https://blog.csdn.net/qq_36665450/article/details/89792234
*/
import net.masterthought.cucumber.Configuration;
import net.masterthought.cucumber.ReportBuilder;
import net.masterthought.cucumber.Reportable;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class PrettyCucumberReport {
public void generateCucumberReport(){
File reportOutputDirectory = new File("target");
List<String> jsonFiles = new ArrayList<>();
jsonFiles.add("target/cucumberReportJsonFiles/cucumber-report.json");
String buildNumber="1";
String projectName="cucumberProject";
boolean runWithJenkins = false;
boolean parallelTesting = false;
Configuration configuration = new Configuration(reportOutputDirectory,projectName);
// optional configuration
configuration.setParallelTesting(parallelTesting);
configuration.setRunWithJenkins(runWithJenkins);
configuration.setBuildNumber(buildNumber);
// optionally add metadata on main page
configuration.addClassifications("Platform","Mac");
configuration.addClassifications("Component","API Test");
configuration.addClassifications("Version","1.0.0");
ReportBuilder reportBuilder = new ReportBuilder(jsonFiles,configuration);
Reportable reportable = reportBuilder.generateReports();
}
}
3) 在runner里面添加@AfterClass,并调用PrettyCucumberReport.generateCucumberReport,使得跑完测试后再生成报告
package com.example.demoForCucumber;
import com.example.demoForCucumber.config.PrettyCucumberReport;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.AfterClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
tags = {"@API"},
features = {"src/main/resources/features"},
glue = {"com.example.demoForCucumber"},
plugin = {
"pretty",
"html:target/cucumber",
"json:target/cucumberReportJsonFiles/cucumber-report.json"
}
)
public class DemoForCucumberApplicationTests {
@AfterClass
public static void generateReport(){
PrettyCucumberReport prettyCucumberReport = new PrettyCucumberReport();
prettyCucumberReport.generateCucumberReport();
}
}
4)最后我们可以在target目录下看到生成了cucumber-html-reports文件夹
打开overview-features.html,新的报告如下:
另外还可以点tags, steps,failure的维度来查看
最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!