我希望使用CasperJS / PhantomJS自动测试一个广泛使用电子邮件作为其流程一部分的项目,但是当我需要以自动方式检查电子邮件内容时,我一直遇到问题。 / p>
这些工具非常能够遍历许多电子邮件服务的HTTP版本,但是维护测试以跟上对外部服务所做的UI更改并不是我想做的事情。
CasperJS或PhantomJS是否能够使用IMAP或POP3来检索邮件,还是有更常见的解决方案?
答案 0 :(得分:2)
您可以将任何nodejs模块与Casper一起使用:
" Like PhantomJS, CasperJS allows using nodejs modules installed through npm."
答案 1 :(得分:2)
您可以使用casperjs \ Phantomjs进行导航和自动化,但是对于邮件进程,您必须使用nodejs nodemailer module。安装nodejs后请尝试以下命令。
npm install nodemailer@0.7.1。
这将安装nodemailer软件包并发布您可以安装sendgrid sendmail等邮件客户端的帖子,或者您可以使用nodemailer直接传输,但这可能会导致邮件传递延迟。
请检查nodemailer脚本并使用以下命令运行脚本: node scriptname.js
答案 2 :(得分:1)
PhantomJS(以及扩展名,Casper)是一个网络浏览器 - 据我所知,它无法使用POP或IMAP。我首先想到的方法是使用一个单独的系统进行测试自动化(至少,对于那些需要验证电子邮件的测试),例如:使用Python,Ruby或Node.js,在这些测试中通过命令行调用Casper,然后使用单独的工具检查和验证电子邮件。
答案 3 :(得分:1)
您还可以使用带有mailcatcher(ruby)或maildev(节点)等Web界面的dev smtp服务器。
他们还有一个rest api,它以比使用Web界面更稳定的方式返回电子邮件。
我没有测试过,但很快就会测试。