cucumber:使用cucumber-reporting 插件优化HTML report

283 篇文章 6 订阅
149 篇文章 0 订阅

 承接上一篇: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%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

图片

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值