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

无法从@wdio/json-reporter的JSON输出生成multiple-cucumber-html-report

解决WebdriverIO+Cucumber报告格式不兼容及截图嵌入问题

1. 替换JSON报告生成器

@wdio/json-reporter的输出格式与multiple-cucumber-html-reporter不兼容,直接改用专为Cucumber场景设计的@wdio/cucumber-json-reporter:

  • 安装依赖:
    npm install @wdio/cucumber-json-reporter --save-dev
    
  • 修改wdio.conf.ts中的reporters配置,替换原有json-reporter:
    reporters: [
      ['cucumber-json', {
        jsonFolder: './reports/json/', // 指定JSON报告输出目录
        language: 'en'
      }]
    ]
    

2. 配置失败步骤自动截图

在wdio.conf.ts的afterStep钩子中添加截图逻辑,将截图直接附加到Cucumber测试步骤:

afterStep: async function (step, scenario, { passed }) {
  if (!passed) {
    const screenshot = await browser.takeScreenshot();
    await scenario.attach(Buffer.from(screenshot, 'base64'), 'image/png');
  }
}

3. 调整报告生成脚本适配新格式

修改generate-report.ts,确保读取@wdio/cucumber-json-reporter生成的文件:

const report = require('multiple-cucumber-html-reporter');

report.generate({
  jsonDir: './reports/json/', // 与cucumber-json-reporter的输出目录保持一致
  reportPath: './reports/html/',
  displayDuration: true,
  displayReportTime: true,
  metadata: {
    browser: {
      name: 'chrome',
      version: 'latest'
    },
    device: 'Local Machine',
    platform: {
      name: 'Windows',
      version: '11'
    }
  }
});

4. 验证执行流程

  • 先运行测试生成兼容格式的JSON报告:
    npx wdio run wdio.conf.ts
    
  • 再执行报告生成命令:
    ts-node generate-report.ts
    

完成以上配置后,生成的HTML报告会自动包含失败步骤的截图,同时解决格式不兼容问题。

内容的提问来源于stack exchange,提问作者Nishashree J C

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 14:35:55