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

使用cypress-email-results发送测试邮件失败,plugins/index.js未运行

问题根因

Cypress 10.0 及以上版本已经调整了插件加载逻辑,不再默认自动加载 cypress/plugins/index.js 文件,这是你在文件头部加的日志无法打印、插件逻辑不执行的直接原因。

修复方案
  • 打开项目根目录下的 cypress.config.js(或TS项目对应的cypress.config.ts),所有插件注册逻辑都需要写在配置文件的setupNodeEvents节点下。
  • 你可以直接把原有插件逻辑迁移到配置文件中,参考配置如下:
const { defineConfig } = require("cypress");
const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
      user: '**********@gmail.com',
      pass: '***********'
    }
});

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      require('cypress-email-results')(on, config, {
        email: ['***********@gmail.com'],
        transporter
      })
      return config
    },
    // 此处保留你原有的其他e2e配置,比如spec路径、baseUrl等
  },
});
  • 如果你想保留原有cypress/plugins/index.js文件不做迁移,只需要在setupNodeEvents中显式引入该文件即可,不需要重复写逻辑:
setupNodeEvents(on, config) {
  return require('./cypress/plugins/index.js')(on, config)
}
补充说明

cypress-email-results 默认行为就是等所有spec文件执行完成后,聚合全量测试结果生成单封邮件发送,完全匹配你整合所有结果发单个邮件的需求,不需要额外修改插件配置。
注意Gmail账号不能直接使用登录密码配置SMTP,需要先开启账号两步验证,再生成应用专用密码填入pass字段,否则会报鉴权错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:09:46