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

集成Playwright Slack Reporter后Ortoni报告失效及通知未送达问题排查

解决Playwright中Ortoni报告与playwright-slack-report共存问题

正确配置示例

以下是经过验证的playwright.config.ts配置,可同时启用Ortoni报告、JSON报告及Slack通知:

import { defineConfig } from '@playwright/test';
import OrtoniReport from 'ortoni-report';
import { createSlackReporter, SlackReporterOptions } from 'playwright-slack-report';

// Slack报告器配置
const slackOpts: SlackReporterOptions = {
  webhookUrl: '你的Slack Webhook完整URL',
  sendResults: 'always', // 可选值:'always' | 'on-failure' | 'off'
  jsonReportPath: './playwright-report/test-results.json', // 必须与JSON报告器输出路径一致
  // 可选配置:自定义通知内容
  meta: {
    title: 'Playwright自动化测试报告',
    projectName: '你的项目名称',
  },
};

export default defineConfig({
  testDir: './tests',
  // 报告器按顺序执行:先生成JSON文件,再生成Ortoni报告,最后发送Slack通知
  reporters: [
    // 1. 生成JSON报告,供Slack报告器读取
    ['json', { outputFile: './playwright-report/test-results.json' }],
    // 2. 生成Ortoni可视化报告
    ['ortoni-report', {
      outputDir: './ortoni-report',
      title: 'Ortoni自动化测试报告',
      // 其他Ortoni配置项(如logo、自定义CSS等)可按需添加
    }],
    // 3. 基于JSON报告发送Slack通知
    [createSlackReporter(slackOpts)],
  ],
  // 其他Playwright配置(如浏览器、超时时间等)
  use: {
    baseURL: '你的测试环境URL',
    headless: true,
  },
});

问题排查与解决步骤

1. 解决"添加Slack报告器后脚本无法运行"的问题

  • 检查报告器顺序:JSON报告器必须放在Slack报告器之前,因为Slack报告器依赖JSON文件内容生成通知。如果顺序颠倒,Slack报告器执行时JSON文件尚未生成,会触发读取错误。
  • 确认Slack报告器初始化方式:选项B要求使用createSlackReporter创建实例,而非字符串类型的报告器配置(如['playwright-slack-report', {...}])。错误的初始化方式会导致Playwright无法识别报告器,进而中断脚本运行。
  • 依赖兼容性:当前使用的playwright-slack-report@1.1.89与@playwright/test@1.50.1版本兼容,若仍有报错,可尝试重新安装依赖:
    rm -rf node_modules package-lock.json
    npm install
    

2. 解决"添加JSON报告器后可运行但收不到Slack通知"的问题

  • 核对JSON路径一致性:确保slackOpts.jsonReportPath与JSON报告器的outputFile路径完全一致,包括相对路径的层级(如./playwright-report/是否存在)。运行测试后可手动检查该路径下是否生成了JSON文件。
  • 验证Slack配置参数:
    • 确认webhookUrl无拼写错误(Postman验证可用的URL需完全复制到配置中)。
    • 检查sendResults设置:若设为on-failure,只有测试失败时才会发送通知;若需每次运行都发送,需设为always。
  • 检查权限与文件读写:确保测试运行用户对./playwright-report/目录有读写权限,避免JSON文件无法生成或读取。
  • 查看Playwright日志:运行测试时添加--verbose参数,查看Slack报告器的执行日志,定位是否有读取JSON失败或API请求异常:
    npx playwright test --verbose
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:00:54