Cypress Allure 报告已创建,但未生成 allure-results 文件夹

问题描述 投票:0回答:1

我正在尝试将 Allure 报告与 Cypress 集成到我的项目中。正在创建 Allure 报告,但未生成 allure-results 文件夹。以下是我已采取的步骤和已设置的配置。 先决条件

  • Node.js (>= v18.16.0)
  • npm (>= 9.5.1)
  • 赛普拉斯 (>= 13.x)
  • 赛普拉斯软件包版本:13.13.1
  • 赛普拉斯二进制版本:13.13.1
  • 电子版本:2010年3月27日
  • 捆绑节点版本:18.17.1
  • 打字稿 (>=v5.5.3)

cypress.config.ts

const { defineConfig } = require('cypress');

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      require('@shelex/cypress-allure-plugin/writer')(on, config);
      return config;
    },
    specPattern: 'cypress/e2e/**/*.cy.{js,jsx,ts,tsx}',
    reporter: 'cypress-mochawesome-reporter',
    reporterOptions: {
      reportDir: 'cypress/reports',
      overwrite: false,
      html: false,
      json: true,
    },
    env: {
      allureReuseAfterSpec: true,
    },
  },
});

cypress/support/index.ts

import '.'; 

import './commands';
import '@shelex/cypress-allure-plugin';

我的测试文件示例,cypress/e2e/sample_test.cy.ts

describe('Sample Test', () => {
    it('should pass', () => {
      expect(true).to.equal(true);
    });
  });

package.json

    "@shelex/cypress-allure-plugin": "^2.40.2",
    "allure-commandline": "^2.29.0",
    "cypress": "^13.13.1",
    "cypress-mochawesome-reporter": "^3.8.2"  
 },   "dependencies": {
    "typescript": "^5.5.4"  
 }

使用以下命令运行 Cypress 测试:

npx cypress run

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

问题:

  • Allure 报告已创建,但未生成 allure-results 文件夹。
  • 没有具体的错误消息指示为何未创建文件夹。

采取的故障排除步骤:

  • 已验证的插件集成:
  • 确保 Allure 插件正确集成到 cypress.config.ts 中并导入到 cypress/support/index.ts 中。
  • 重新检查配置文件:
  • 确认设置正确,如上所示。
  • 手动创建 Allure 结果目录: 我尝试手动创建 allure-results 文件夹,但它仍然是空的。

注意:

  • 有一次,我观察到创建的 allure-result 文件夹以及其中的文件为 .XML 格式,以供下次运行。
  • 我手动从我的项目中删除了该文件夹。

任何帮助将不胜感激!

typescript testing automation cypress allure
1个回答
0
投票

您的支持文件名为

cypress/support/index.ts
,但默认名称为
cypress/support/e2e.{js,jsx,ts,tsx}
,请参阅测试特定于类型的选项 - e2e

如果您使用此配置更新

cypress.config.js

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      require('@shelex/cypress-allure-plugin/writer')(on, config);
      return config;
    },
    specPattern: 'cypress/e2e/**/*.cy.{js,jsx,ts,tsx}',
    supportFile: 'cypress/support/index.ts',

    ...
  },
})

它现在会调用

import '@shelex/cypress-allure-plugin'

© www.soinside.com 2019 - 2024. All rights reserved.