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

标签 php wordpress automation automated-tests contact-form

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

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

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

检查前端

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

检查是否收到消息

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

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

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

最佳答案

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

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

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

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

关于php - 检查联系表是否有效(自动测试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55201153/

相关文章:

php - 通过代码调用 artisan 命令不工作

php - 警告 mb_convert_encoding() 未知编码 "WINDOWS-1256"

java - 无法打开链接作为后台选项卡 - Java、Selenium、IE

azure - 如何在 Azure SSAS 上部署多维数据集(XMLA 格式)

php - PDO “Uncaught exception ' PDOException' .. 当其他无缓冲查询处于事件状态时无法执行查询。考虑使用 PDOStatement::fetchAll()。”

php - 在 Excel5.php 中找不到类 'PHPExcel'

wordpress - 联系Form 7自动添加的p标签

javascript - 搬到另一个主机后,Wordpress 中的 Jquery 冲突

php - 如何仅在特定页面中 bundle.min.css(在我的例子中是 contact.php)

node.js - 是否可以用pug编写一个javascript文件