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

如何在Cypress运行模式下仅显示测试结果的最终汇总表

解决Cypress仅显示测试汇总表的方案

方法一:通过Cypress配置自定义日志与汇总输出

修改cypress.config.js,禁用测试过程中的冗余日志,并在测试结束后输出结构化汇总:

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

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      // 拦截任务日志,不输出任何内容
      on('task', {
        log: () => null
      });

      // 拦截命令执行日志,阻止生成
      on('command:start', () => false);

      // 测试完成后输出自定义格式的汇总
      on('after:run', (results) => {
        console.log('\n' + '='.repeat(25));
        console.log('      测试汇总');
        console.log('='.repeat(25));
        console.log(`总测试用例: ${results.totalTests}`);
        console.log(`✅ 通过: ${results.passedTests}`);
        console.log(`❌ 失败: ${results.failedTests}`);
        console.log(`⏭️  跳过: ${results.skippedTests}`);
        console.log(`总耗时: ${(results.totalDuration / 1000).toFixed(2)}s`);
        console.log('='.repeat(25) + '\n');
      });
    },
  },
  // 启用quiet模式减少Cypress基础日志
  quiet: true,
  // 使用spec报告器并仅开启汇总显示
  reporter: 'spec',
  reporterOptions: {
    spec: {
      displayPassed: false,
      displayFailed: false,
      displaySkipped: false,
      displayErrorMessages: false,
      displaySummary: true
    }
  }
});

方法二:优化Mochawesome报告器输出

如果偏好Mochawesome,可配置其仅生成汇总数据,再通过脚本打印到控制台:

  1. 修改cypress.config.js:
module.exports = defineConfig({
  e2e: {
    // ...其他原有配置
  },
  reporter: 'mochawesome',
  reporterOptions: {
    reportDir: 'cypress/reports',
    overwrite: true,
    html: false,
    json: true,
    summaryOnly: true // 仅生成汇总数据
  }
});
  1. 创建print-summary.js脚本:
const fs = require('fs');
const summary = require('./cypress/reports/mochawesome.json');

console.log('\n' + '='.repeat(25));
console.log('      测试汇总');
console.log('='.repeat(25));
console.log(`总测试用例: ${summary.tests}`);
console.log(`✅ 通过: ${summary.passes}`);
console.log(`❌ 失败: ${summary.failures}`);
console.log(`⏭️  跳过: ${summary.pending}`);
console.log(`总耗时: ${summary.duration / 1000}s`);
console.log('='.repeat(25) + '\n');
  1. 执行命令:
cypress run --quiet && node print-summary.js

方法三:命令行过滤输出(快速临时方案)

如果不需要自定义格式,可直接通过命令行工具过滤仅保留汇总片段:

  • Linux/macOS:
cypress run --quiet | grep -A 10 -B 2 "Summary:"
  • Windows(PowerShell):
cypress run --quiet | Select-String -Pattern "Summary:" -Context 2,10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:27:06