【问题标题】:Checking email with CasperJS or PhantomJS使用 CasperJS 或 PhantomJS 检查电子邮件
【发布时间】:2014-04-01 22:11:42
【问题描述】:

我希望使用 CasperJS/PhantomJS 自动测试一个项目,该项目广泛使用电子邮件作为其流程的一部分,但当我需要以自动化方式检查电子邮件内容时,我总是遇到问题。

这些工具非常有能力在许多电子邮件服务的 HTTP 版本中进行爬网,但维护测试以跟上对外部服务所做的 UI 更改并不是我想做的事情。

CasperJS 或 PhantomJS 是否有能力使用 IMAP 或 POP3 来检索邮件,或者是否有更常见的解决方案普遍实现?

【问题讨论】:

  • 你最后有什么工作吗?如果是这样,您使用了哪些软件包/方法?
  • 我最终做了我试图避免的事情。我将 CasperJS 配置为使用 webmail 应用程序自动单击链接。不是很性感,但效果很好。
  • 您最终使用了哪个网络邮件服务? Gmail 似乎是最小化的类和 id 名称与随机模式之间的最差选择。谢谢。
  • 我最终使用了 RackSpace 电子邮件服务。 GMail 也能正常工作,但就像你提到的,最初配置是一场噩梦。尝试使用 gmail 的 HTML 版本来简化事情。 mail.google.com/?ui=html

标签: automated-tests phantomjs casperjs


【解决方案1】:

您可以将任何 nodejs 模块与 Casper 一起使用:

Like PhantomJS, CasperJS allows using nodejs modules installed through npm.

所以你只需要check the npm repo and test which lib suits you.

【讨论】:

  • 但是……这些模块仍然在 PhantomJS 环境中运行,对吧?那么,您是否可以访问这些电子邮件处理模块无疑使用的核心 Node 模块?
  • 是否有任何教程或博客文章展示了如何做到这一点? (即使只是知道有人管理它,以及他们使用的众多软件包中的哪一个,也会非常有帮助。)
  • @DarrenCook 据我所知,我没有亲自尝试过。可能 Citricguy 会知道。
【解决方案2】:

您好,使用 casperjs\Phantomjs 您可以导航和自动化,但是对于邮件过程,您必须使用 nodejs nodemailer 模块。安装 nodejs 后尝试以下命令。

npm install nodemailer@0.7.1.

这会安装 nodemailer 包并发布,您可以安装邮件客户端,如 sendgrid sendmail,或者您可以只使用 nodemailer 直接传输,但这可能会导致邮件传递延迟。

请检查 nodemailer 脚本并使用以下命令运行脚本: 节点脚本名.js

【讨论】:

    【解决方案3】:

    PhantomJS(以及扩展名 Casper)是一个网络浏览器——据我所知,它不能使用 POP 或 IMAP。我首先想到的方法是使用单独的系统进行测试自动化(至少对于那些需要验证电子邮件的测试),例如使用 Python、Ruby 或 Node.js,在这些测试中通过命令行调用 Casper,然后使用单独的工具检查和验证电子邮件。

    【讨论】:

    • PhantomJS 是一个浏览器,而 CasperJS 是一个测试工具。有时最好的工具是我们已经拥有的工具,虽然单独的系统听起来更好,但可能不值这个价。
    【解决方案4】:

    您还可以使用带有 Web 界面的 dev smtp 服务器,例如 mailcatcher (ruby) 或 maildev (node)。

    他们还有一个 rest api,它以比使用 web 界面更稳定的方式返回电子邮件。

    我没有测试它,但很快就会。

    【讨论】:

      猜你喜欢
      • 2022-06-16
      • 2010-11-16
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-29
      相关资源
      最近更新 更多