You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cucumber 7环境下Allure生成空报告问题求助

解决Allure+Cucumber7空报告问题

问题排查与修复要点:

1. 清理重复的版本定义

你的properties块里重复定义了allure版本,会导致依赖版本混乱:

<allure>2.20.0</allure>
...
<allure>2.20.1</allure>

改成统一命名的单一版本:

<allure.version>2.20.1</allure.version>

所有原${allure}的引用替换为${allure.version}

2. 移除Cucumber依赖冲突

同时引入cucumber-junit-platform-engine和cucumber-junit会引发运行器冲突——你用的是JUnit 5(junit-bom为5.9.2),只需保留cucumber-junit-platform-engine,直接删除cucumber-junit依赖。

3. 修正Allure插件配置方式

Cucumber 7+不再推荐-Dcucumber.options,改用-Dcucumber.plugin,且插件全类名要准确。另外把allure-cucumber7-jvm的scope设为test(仅测试阶段需要):

  • 调整依赖:
<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-cucumber7jvm</artifactId>
    <version>${allure.version}</version>
    <scope>test</scope>
</dependency>
  • 修正surefire插件的argLine:
<argLine>
    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
    -Dcucumber.plugin="io.qameta.allure.cucumber7jvm.AllureCucumber7Jvm"
</argLine>

4. 升级Surefire插件版本

你当前用的3.0.0-M8是预览版,换成稳定版3.2.5避免兼容问题。

5. 验证结果目录

执行mvn clean test后,检查target/allure-results目录是否有.json/.xml文件生成——如果没有,说明插件未生效,回头检查前面的配置。


修复后的核心配置片段:

Properties块

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <selenium.version>4.7.2</selenium.version>
    <selenide>6.11.0</selenide>
    <allure.version>2.20.1</allure.version>
    <lombok>1.18.24</lombok>
    <slf4j.version>2.0.0-alpha6</slf4j.version>
    <rest.assured>5.1.1</rest.assured>
    <cucumber.version>7.11.1</cucumber.version>
    <aspectj.version>1.9.9</aspectj.version>
</properties>

Dependencies块

<dependencies>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit-platform-engine</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-cucumber7-jvm</artifactId>
        <version>${allure.version}</version>
        <scope>test</scope>
    </dependency>
</dependencies>

Surefire插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.2.5</version>
    <configuration>
        <argLine>
            -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
            -Dcucumber.plugin="io.qameta.allure.cucumber7jvm.AllureCucumber7Jvm"
        </argLine>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>

验证流程:

  1. 执行mvn clean test,确认target/allure-results下有测试结果文件
  2. 运行mvn allure:serve,检查报告是否正常生成

内容的提问来源于stack exchange,提问作者Maria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:52:52