检查联系表单是否有效(自动测试)

时间:2019-03-16 20:23:26

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

我有一个带有联络配方的网站。对于我的业务而言,至关重要的是,我收到此公式编制者发送的 all 消息。而且我已经看到许多因依赖更新或脚本冲突而导致联系表单中断的例子。

因此,我的计划是进行一个自动化测试,该测试将每天填写联系人公式,以确保没有错误。并且(也是最重要的),检查是否在另一端收到了邮件。

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

检查前端

为了确保表单不会中断,在发送邮件之前,我打算使用Nightwatchjs进行操作。

检查是否收到邮件

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

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

我该怎么做? 还是有任何框架可以简化这一过程?

1 个答案:

答案 0 :(得分:2)

在当前情况下,测试时应考虑3个重要事项。

但是在此之前,请不要完全依靠电子邮件来提醒您。确保无论何时提交表单,后端都会将数据持久保存在某个数据库中,然后触发电子邮件,或者同时发生这两种情况。

自动执行UI /功能测试可能既耗时又昂贵。因此,我建议您将测试分为两个部分。

  1. 首先可以直接进行API测试,这些测试可以包含所有 业务逻辑和方案,例如发送无效/空字段,XSS, 注入等。现在,使用持久数据可以很容易地断言。
  2. 第二个可以是您的功能测试用例,您可以使用puppeteer或 硒,木偶戏更轻巧和灵活。只是写一些 基本表单填写测试,然后登录到wp-admin并声明/验证 数据。
  3. 我建议在某些情况下运行上述测试用例 UAT或其他环境,这将确保只有您的测试用例在数据库中创建记录,而不是其他人。另外,使用其他环境也可以使您轻松模拟电子邮件服务器或使用mailgun API来验证电子邮件的传递。