【问题标题】:Checking if contact form's works (automated testing)检查联系表格是否有效(自动测试)
【发布时间】:2019-08-07 15:04:48
【问题描述】:

我有一个带有联系人公式的网站。我收到所有消息,这些消息都是由这个公式发送的,这对我的业务至关重要。而且我已经看到了很多由于依赖更新或脚本冲突而导致联系表格中断的例子。

所以我的计划是做一个自动化测试,每天填写一个联系公式,确保没有错误。并且(也是最重要的)检查消息是否在另一端收到。

我正在使用 WordPress Formidable forms,但没关系,如果它需要定制的话。我以前用过Contact Form 7Flamingo,这很好。但缺点是,如果我没有收到电子邮件,那么它会默默地失败,然后我可以使用 Flamingo 恢复未收到的消息。如果邮件没有到达我的收件箱,我需要立即知道。

检查前端

为了确保表单不会损坏,在邮件发送之前,我打算使用Nightwatchjs

检查是否收到消息

这是我不知道该怎么做的部分...正在验证发送/接收部分。

因此,如果我的主要电子邮件是 inbox@example.org,那么我在想,如果我可以设置一个额外的邮件,例如 robot@example.org,然后将所有邮件发送到两个电子邮件,- 然后……嗯……用那个做点什么?

我该怎么做? 或者是否有任何框架可以使它更容易?

【问题讨论】:

  • 我会使用 selenium 或任何其他可用于以编程方式与您的网站交互的工具 - 然后在几分钟左右后,将 smtp 发送到您的邮件服务器并检查新的公式条目(即。让它们都由特定的发件人邮件地址填写,以便您识别它们)。

标签: php wordpress automation automated-tests contact-form


【解决方案1】:

在您当前的场景中,您在测试时应该考虑 3 件重要的事情。

但在此之前,不要完全依赖电子邮件来提醒您。确保无论何时提交表单,后端都会将数据保存在某个数据库中,然后触发电子邮件,或者两者都可以并行发生。

自动化 UI/功能测试可能既耗时又昂贵。所以我建议你把你的测试分成两个部分。

  1. 首先可以直接API测试,这些测试可以包含所有 业务逻辑和场景,如发送无效/空字段、XSS、 注入等。现在,使用持久化数据,您可以非常轻松地断言。
  2. 第二个可以是您的功能测试用例,您可以使用 puppeteer 或 selenium,puppeteer 更加轻便灵活。随便写点 基本的表单填写测试,然后登录到 wp-admin 并断言/验证 数据。
  3. 我建议在某些情况下运行上述测试用例 UAT 或不同的环境,这将确保只有您的测试用例在数据库中创建记录,而不是其他人。此外,使用不同的环境可以让您轻松模拟您的电子邮件服务器或使用 mailgun API 验证电子邮件传递。

【讨论】:

    猜你喜欢
    • 2019-05-23
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 2015-02-04
    • 1970-01-01
    相关资源
    最近更新 更多