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

时间:2018-11-27 14:15:04

标签: node.js selenium webdriver-io

我有一个问题,我想通过 webdriverio 通过电子邮件发送报告者的输出或只是测试结果,而对报告者没有偏好。 我该怎么办?

2 个答案:

答案 0 :(得分:2)

在报告器中找到用于发送输出的文件,在我的情况下,报告器是规范报告器,并调用文件 reporter.js ,您可以使用类似 nodemailer ,您需要在输出之前将脚本添加到输出中,然后只发送输出,但是您需要考虑到规范使用粉笔为输出着色,所以您需要摆脱它。我建议使用库 ansi-html < / strong>。另一个选择是保存测试结果的测试转储,然后仅发送或读取文件中的文本,这样做可能更容易,我建议您查看:How/What is the best way to auto create/save text file version of automated test reporter logs,或者如果您使用詹金斯,我建议使用插件邮件通知。附注:如果要格式化结尾,则应更改 BaseReporter.js (如果使用webdriverio

答案 1 :(得分:0)

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