如何使用节点 JavaScript 通过电子邮件发送 Selenium 测试报告者的输出

How to send output of a reporter of a Selenium test via email using node JavaScript

我有一个问题我想通过电子邮件发送记者的输出或只是测试结果我使用 webdriverio 并且在记者中没有偏好。 我该怎么做?

在报告者中找到用于发送输出的文件,在我的例子中,报告者是一个规范报告者和文件调用'reporter.js你可以使用一些东西像 nodemailer 并且你需要在输出之前添加你的脚本并且只发送输出但是你需要考虑规范使用粉笔为输出着色所以你需要摆脱它我建议使用库 ansi-html。另一种选择是保存测试结果的测试转储,只发送或从文件中读取文本,我建议您查看可能更容易: 或者如果您使用 jenkins,我建议使用插件电子邮件通知。 P.S 如果你想格式化结尾你应该改变 BaseReporter.js 如果你使用 webdriverio

webdriverio v5 出来了,以前的答案现在不相关了,是一种不好的做法。更好的解决方案是:使用 json-reporter 并从 json 报告者日志中获取数据到您的电子邮件模板并通过 nodemailer。为了在所有测试执行完成后自动发送它,我添加了 onComplete 函数,该函数分叉解析数据和发送电子邮件的子进程