Intellij IDEA+Maven+Cucumber L8 ExtentReports Adapter plugin

本文介绍了如何在IntelliJ IDEA中结合Maven和Cucumber,使用ExtentReports作为测试报告适配器。主要内容包括在POM文件中添加依赖,配置插件,设置src/test/resources下的extent.properties和extent-config.xml文件,以及自定义测试报告的输出位置,特别是以日期形式定制报告路径。

POM Dependencies

以往参考资料失效,cucumber6需要使用extentreports-cucumber6-adapter

<dependency>
   <groupId>tech.grasshopper</groupId>
   <artifactId>extentreports-cucumber6-adapter</artifactId>
   <version>2.8.1</version>
   <scope>test</scope>
</dependency>

还要导入ExtentReports version 4.,导入以下资源后可以正常运行

  <dependency>
            <groupId>tech.grasshopper</groupId>
            <artifactId>extentreports-cucumber6-adapter</artifactId>
            <version>2.8.1</version>
        </dependency>

        <dependency>
            <groupId>tech.grasshopper</groupId>
            <artifactId>extentreports-cucumber6-adapter</artifactId>
            <version>1.2.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.aventstack</groupId>
            <artifactId>extentreports-cucumber4-adapter</artifactId>
            <version>1.2.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.aventstack</groupId>
            <artifactId>extentreports-cucumber4-adapter</artifactId>
            <version>1.2.1</version>
            <exclusions>
                <exclusion>
                    <groupId>io.cucumber</groupId>
                    <artifactId>cucumber-java</artifactId>
                </exclusion>
            </exclusions>
            <scope>test</scope>
        </dependency>

Plugin 的设置

@CucumberOptions(plugin = {"com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:"})

设置 src/test/resources 下extent.properties

extent.reporter.klov.start=false
extent.reporter.spark.start=true
extent.reporter.json.start=true
extent.reporter.pdf.start=true

extent.reporter.klov.config=src/test/resources/klov.properties
extent.reporter.spark.config=src/test/resources/extent-config.xml

extent.reporter.spark.out=test-output/Spark/ExtentSpark.html
extent.reporter.json.out=test-output/Json/ExtentJson.json
extent.reporter.pdf.out=test-output/PdfReport/ExtentPdf.pdf

#test,dashboard,category,exception,author,device,log
extent.reporter.spark.vieworder=dashboard,test,category,exception,author,device,log

#embed image as base64 string src default is false
#extent.reporter.spark.base64imagesrc=true

screenshot.dir=test-output
screenshot.rel.path=../

systeminfo.os=Windows
systeminfo.version=8.1

#this is optional and creates the report in base folder name with date time format
#basefolder.name=CucumberExtent-Reports
#basefolder.datetimepattern=d-MMM-YY HH-mm-ss

需要自己新建。
在这里插入图片描述

设置 src/test/resources 下extent-config.xml

extent.reporter.klov.start=false
extent.reporter.spark.start=true
extent.reporter.json.start=true
extent.reporter.pdf.start=true

extent.reporter.klov.config=src/test/resources/klov.properties
extent.reporter.spark.config=src/test/resources/extent-config.xml

extent.reporter.spark.out=test-output/Spark/ExtentSpark.html
extent.reporter.json.out=test-output/Json/ExtentJson.json
extent.reporter.pdf.out=test-output/PdfReport/ExtentPdf.pdf

#test,dashboard,category,exception,author,device,log
extent.reporter.spark.vieworder=dashboard,test,category,exception,author,device,log

#embed image as base64 string src default is false
#extent.reporter.spark.base64imagesrc=true

screenshot.dir=test-output
screenshot.rel.path=../

systeminfo.os=Windows
systeminfo.version=8.1

#this is optional and creates the report in base folder name with date time format
#basefolder.name=CucumberExtent-Reports
#basefolder.datetimepattern=d-MMM-YY HH-mm-ss

默认reporter输出位置:

test-output/
在这里插入图片描述

Reports:

在这里插入图片描述

在这里插入图片描述

以日期形式自定义输出

extent.properties中追加

extent.reporter.spark.out=test-output/SparkReport/

screenshot.dir=test-output/
screenshot.rel.path=../

basefolder.name=reports
basefolder.datetimepattern=d-MMM-YY HH-mm-ss

在这里插入图片描述

### Cucumber与Allure集成概述 在现代软件开发生命周期中,自动化测试扮演着至关重要的角色。为了提高测试效率并更好地理解测试执行情况,开发者通常会采用像Cucumber这样的行为驱动开发(BDD)工具以及Allure这类强大的测试报告生成器[^1]。 ### Allure特性简介 Allure测试报告由Yandex公司开发,是一款开源测试框架,能够提供详尽的信息和交互式的界面来呈现测试结果。其主要优点包括但不限于支持多种编程语言、易于阅读的结果展示方式和支持分布式测试环境等。 ### 配置本地环境以便于查看Allure报告 对于希望利用Allure的强大功能而不仅仅是JSON文件的人来说,在本地环境中设置适当工具链是非常必要的。这一步骤确保了团队成员可以在不需要额外安装任何东西的情况下轻松访问美观易懂的HTML格式测试报告[^2]。 ### Maven项目中的Selenium+Cucumber+TestNG+Allure配置指南 当涉及到具体技术栈的选择时——特别是Java生态系统内——可以通过创建Maven工程并将依赖项加入`pom.xml`文件的方式来快速搭建起一个集成了上述组件的工作空间。此过程涉及到了解如何正确引入库文件及其版本号,并合理安排目录结构以适应不同插件的要求[^4]。 #### 实现步骤说明: 以下是基于IntelliJ IDEA平台下完成整个流程的一个简化版指导方案;实际操作可能会因个人偏好或特定需求有所差异。 ```xml <!-- pom.xml --> <dependencies> <!-- 添加 cucumber-java 和 allure-cucumber 依赖 --> </dependencies> <build> <plugins> <!-- 插入 surefire 或 failsafe 插件用于运行测试 --> <!-- 同时指定 allure-maven-plugin 来处理报告生成 --> </plugins> </build> ``` 通过以上XML片段可以看出,关键在于向项目的构建描述符(`pom.xml`)里添加合适的依赖关系和构建生命周期绑定,从而使得每次执行测试之后都能自动生成相应的Allure数据文件。 最后要记得调整IDE本身的设置选项(例如命令行参数),使其指向正确的输出路径和其他必要属性,这样才能保证最终产出物符合预期标准[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值