Charcoal 最初部署在一台规格已定的

B2C Data Innovating with Forum and Technology
Post Reply
rumiseoexpate5
Posts: 56
Joined: Wed Dec 11, 2024 3:55 am

Charcoal 最初部署在一台规格已定的

Post by rumiseoexpate5 »

无头 Mac Mini 上。我们认为,在一台快速的专用机器上运行测试非常重要,这样可以避免资源争用带来的额外不确定性。起初,我们让浏览器在 OS X 的 VNC 实现中的虚拟“屏幕”上运行。但我们发现,这降低了浏览器的渲染性能,因为 OS X 使用的图形路径与真实显示器的图形路径不同。这减慢了测试套件的速度,有时还会导致看似随机的故障。添加 HDMI 适配器解决了这个问题,它“欺骗”OS X 认为连接了真实显示器,允许浏览器像平常一样使用硬件加速渲染。

这种部署方法对于我们最初的 12 个烟雾测试套件来说效果很好,但它无法水平扩展,而且由于它位于一台一次性 Mac Mini 上,因此我们的 SRE 团队很难管理。为了解决这两个问题,我们最终迁移到 萨尔瓦多 whatsapp 号码数据 5 万 基于 Docker + Linux 的方法,这种方法可以使用我们的标准基础设施管理工具轻松扩展和管理。有关这方面的更多详细信息,请查看 Mike Wrighton 的博客文章Turbocharging Our UI Tests。

结果
Charcoal 成为我们发布流程中的重要部分,成功捕获了灾难性错误和较小的视觉回归问题。我们能够通过 Commerce 结帐页面、登录页面和一些不同的 CMS 编辑流程测试多个流程。

然而,随着木炭越来越受欢迎,一些问题也暴露出来:

Image

当故障发生时,诊断起来很困难。Nightwatch 的命令日志很有帮助,但通常需要更多背景信息。调试可能会令人沮丧。
doAndWaitForRequest()虽然像帮助管理非确定性这样的工具,但有时确实会发生看似随机的行为和故障。
对于需要固定装置状态的 UI 流(例如,期望博客页面存在的流程),管理跨多个网站的固定装置设置变得手动且繁琐。
为了解决这些问题并实现更大范围的 UI 测试,我们围绕 Charcoal 构建了一套丰富的扩展和工具,以及用于管理和运行测试的完整 UI。这个基于 Charcoal 的新工具套件称为 Firepit。Firepit 现在在 Squarespace 测试了数百个 UI 流程,并为我们持续部署管道中的最后一组冒烟测试提供支持。要了解有关 Firepit 的更多信息,请继续关注我们即将发布的文章“ Squarespace 的 UI 测试:第二部分”。
Post Reply