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

Cucumber Java 7环境下Allure报告生成后无法加载求助

Allure报告无法加载的解决方法(基于Cucumber-Java7+JUnit4+Maven)

环境信息

  • 技术栈:Cucumber-java 7、JUnit4、Maven
  • pom.xml中Allure相关插件配置:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-clean-plugin</artifactId>
    <version>2.5</version>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven-surefire-plugin.version}</version>
    <configuration>
        <argLine>
            -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
            -Dcucumber.options="--plugin io.qameta.allure.cucumber7jvm.AllureCucumber7Jvm"
        </argLine>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>
<plugin>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-maven</artifactId>
    <version>2.12.0</version>
    <configuration>
        <reportVersion>${allure.version}</reportVersion>
        <resultsDirectory>${project.build.directory}/allure-results</resultsDirectory>
    </configuration>
</plugin>
  • 使用的依赖版本:
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>7.8.1</version>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>7.8.1</version>
</dependency>
<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-cucumber7-jvm</artifactId>
    <version>2.20.1</version>
</dependency>
  • 问题现象:执行构建后,运行allure serve allure-results或allure generate allure-results生成报告,打开index.html时出现资源无法加载的情况。

解决方法

1. 统一Allure版本,解决兼容性问题

当前allure-cucumber7-jvm版本为2.20.1,但allure-maven插件用的是2.12.0,版本差异过大易导致兼容性问题:

  • 将allure-maven插件版本升级至2.20.0及以上,与allure.version保持一致
  • 检查本地Allure命令行工具版本,执行allure --version查看,若与依赖版本不一致,下载对应版本替换

2. 修正Surefire插件的Cucumber配置

Cucumber 7.x已弃用cucumber.options参数,推荐使用cucumber.plugin,修改surefire插件的argLine配置:

<argLine>
    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
    -Dcucumber.plugin="io.qameta.allure.cucumber7jvm.AllureCucumber7Jvm"
</argLine>

3. 验证Allure结果目录的有效性

  • 执行mvn clean test后,查看target/allure-results目录下是否生成了json/xml格式的结果文件,若为空,说明测试未正常生成Allure数据,需排查测试执行状态或插件配置
  • 使用allure generate时,添加清理和输出目录参数:allure generate allure-results --clean -o allure-report,生成后进入allure-report目录打开index.html

4. 规避本地HTML的跨域限制

直接打开本地index.html会因浏览器跨域策略导致资源加载失败:

  • 优先使用allure serve allure-results命令,该命令会启动本地服务托管报告,直接访问命令输出的本地URL即可
  • 若需本地打开,可使用Python启动简易HTTP服务器:进入allure-report目录,执行python -m http.server 8080,然后访问http://localhost:8080

5. 确保AspectJ版本兼容

在pom.xml中定义稳定的AspectJ版本,建议使用1.9.8及以上,同时指定Surefire插件版本:

<properties>
    <aspectj.version>1.9.8</aspectj.version>
    <maven-surefire-plugin.version>3.0.0-M7</maven-surefire-plugin.version>
    <allure.version>2.20.1</allure.version>
</properties>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:10:33