我有一个带有快速后端的角形前端。由于对数据库的写入限制,我的应用程序严重依赖于使用电子邮件。我正在编写一些角度/量角器e2e规范,其中我想在快速方面包含preview-email生成的电子邮件预览。
问题是电子邮件预览不会在量角器使用的自动镀铬窗口中打开。我认为这是opn如何工作的核心部分,这是预览电子邮件用于打开电子邮件的内容。 Opn在我的linux机器上使用xdg-open
,导致文件在新的chrome实例或现有chrome窗口的选项卡中打开,当一个已经打开,但不在自动chrome窗口中。有没有办法在自动量角器/ selenium / webdriver窗口中打开预览电子邮件,或者以其他方式测试e2e规范中生成的电子邮件的内容?
代码段,以阐明如何在各种环境中使用预览电子邮件:
return new Promise<void>((resolve, reject) => {
switch (process.env.NODE_ENV) {
case 'acceptance':
return resolve();
case 'production':
transporter.sendMail(message, function (error, response) {
if (error) {
return reject(error);
}
return resolve();
});
default:
previewEmail(message).catch(console.error);
return resolve();
}
});
因此,在默认情况下(开发环境)使用了previewEmail,导致在开发人员默认浏览器中打开一个新选项卡。在生产中,env nodemailer将发送电子邮件。在分期(接受)环境中,什么都不会发生。