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

Cypress集成Allure:报告已生成但allure-results文件夹缺失

解决Cypress集成Allure时allure-results文件夹未生成的问题

核心问题分析

你同时配置了cypress-mochawesome-reporter和@shelex/cypress-allure-plugin,但Cypress仅支持同时启用一个Reporter,这会导致Allure的结果生成逻辑被覆盖,是文件夹未生成的主要原因。此外,环境变量传递、依赖缓存也可能引发此类问题。

解决方案步骤

1. 修复Reporter冲突

修改cypress.config.ts,根据环境变量动态切换Reporter,避免冲突:

import { defineConfig } from "cypress";
import allureWriter from "@shelex/cypress-allure-plugin/writer";

export default defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      allureWriter(on, config);
      // 若需保留mochawesome,需初始化其writer(可选)
      // require('cypress-mochawesome-reporter/plugin')(on);
      return config;
    },
    baseUrl: "http://localhost:3000",
    specPattern: "cypress/e2e/**/*.cy.ts",
    supportFile: 'cypress/support/index.ts',
    // 根据allure环境变量切换Reporter
    reporter: config.env.allure ? '@shelex/cypress-allure-plugin' : 'cypress-mochawesome-reporter',
    reporterOptions: config.env.allure ? {} : {
      reportDir: 'cypress/reports',
      overwrite: false,
      html: false,
      json: true,
    },
    env: {
      allureReuseAfterSpec: true,
      allureResultsPath: 'allure-results' // 明确指定结果目录
    },
  },
});

2. 验证环境变量传递

在测试文件中添加日志,确认allure环境变量是否正确生效:

// cypress/e2e/sample_test.cy.ts
describe('Sample Test', () => {
  it('should pass', () => {
    console.log('Allure环境变量值:', Cypress.env('allure'));
    expect(true).to.equal(true);
  });
});

运行测试后查看控制台输出,若值为undefined,说明命令中的--env allure=true未正确传递,需检查命令格式是否有误。

3. 清理依赖与缓存

执行以下命令清理缓存并重新安装依赖,排除缓存导致的插件异常:

# 删除依赖文件与锁文件
rm -rf node_modules package-lock.json
# 重新安装依赖
npm install
# 清理Cypress缓存
npx cypress cache clear

4. 重新运行测试

使用指定的命令运行测试,确保allure=true环境变量生效:

npx cypress run --env allure=true --spec cypress/e2e/sample_test.cy.ts --browser electron --headed

额外排查点

  • 检查项目根目录权限,确保Node进程有创建文件夹的权限
  • 若手动创建过allure-results文件夹,删除后再重新运行测试,避免遗留文件干扰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 13:14:53