将 Cypress 测试从 Github Action 迁移到 Netlify Build 插件

Your go-to forum for bot dataset expertise.
Post Reply
rubinaruma
Posts: 198
Joined: Sat Dec 21, 2024 4:22 am

将 Cypress 测试从 Github Action 迁移到 Netlify Build 插件

Post by rubinaruma »

Netlify 工程团队使用 Cypress 运行端到端测试。长期以来,我们一直使用 GitHub 操作运行 Cypress 测试。最近,我们遇到了该工作流程的一些问题,并决定将我们的逻辑迁移到 Netlify Build 插件。在这篇博客中,我们将讨论为什么我们决定从 GitHub 操作迁移到 Netlify Build 插件,以及迁移过程如何。

我们的 GitHub 操作的工作原理如下:我们有一个工作流程,在 越南电报号码数据库 向 PR 添加审阅者时会触发,因此这些测试将在部署预览版本上运行,该版本应该是即将获得批准和合并的版本。我们还有一个工作流程,针对每个合并的 PR 在生产分支上运行,以防它与我们的主分支不完全同步,并且中间引入了一些错误。

通过这些工作流程,我们遇到了一些问题:

如果由于某种原因,有人决定在部署预览准备好之前将审阅者分配给 PR(这会触发 Cypress 测试),则测试将失败,因为 URL 尚不可用。
如果我们的某些测试不可靠并且在生产中失败,我们只会收到来自 GitHub 的有关检查失败的电子邮件,人们很容易忽略它。
为了改善这种情况,我们将 GitHub 操作的逻辑迁移到自定义 Netlify Build 插件,以便更好地控制运行测试的输出。

最后,我们有一个 Build Plugin,它执行以下操作:

部署成功后运行测试,以便基本 URL 可用
它会更新 GitHub 上的状态检查,这样你就可以在 PR 中收到测试成功或失败的通知
测试结果显示在部署日志和部署摘要中
当测试失败时,Slack 消息会发送到我们的前端公会频道(仅在生产中),因此人们更容易调查它。
已经有一个现有的 Cypress Build 插件,但我们决定构建自己的插件,因为我们也在运行一些 Percy 视觉回归测试,并且想要一个结合 Percy 和 Cypress 的插件。

到目前为止,我们只研究了 Cypress 部分,但如果您有兴趣从使用 GitHub 操作转向 Netlify Build 插件,我们认为我们可以分享我们的流程。

插件设置
为了在本地开发我们的插件,我们首先在plugins应用程序的根目录创建一个文件夹。然后,我们创建了一个名为的新文件夹cypress,它将包含插件文件。

在这个cypress文件夹中,我们有一个index.jsandmanifest.yml文件。该index.js文件包含我们希望插件执行的实际逻辑,并且该manifest.yml文件包含有关插件的额外详细信息,例如其名称和插件所需的附加值。
Post Reply