从 Chrome 浏览器版本 95 开始,chrome 的并发 Selenium 测试失败

Failing Selenium tests on chrome in concurrency starting from Chrome Browser version 95

我们正在使用: 硒:3 Chrome版本:95

问题:

我们有一个 selenium 测试套件(用 Watir + Ruby 编写),它在 ubuntu 亚马逊 EC2 节点上以 25 并发运行。 从 chrome 版本 95 开始,我们遇到大量测试失败并出现以下错误: 10 秒后超时,元素在 10 秒内不存在(Watir::Wait::TimeoutError)。

当元素出现在屏幕上时,如我们报告中的测试屏幕截图所示。 当 运行 一个接一个地测试时,问题没有重现。 (非平行)。它也没有在我们的 MacOs 机器上本地复制。

我们尝试过: - 增加超时 - 没有帮助 -运行 headless - 似乎解决了一些问题但导致了其他问题。 - 降低屏幕分辨率 - 这有助于显着减少测试失败的数量

我们为 chromium 添加了错误:https://bugs.chromium.org/p/chromium/issues/detail?id=1271067

问题已解决:问题是在 AWS EC2 实例上没有实际显示。该团队使用的是 xvfb(Xvfb 或 X 虚拟帧缓冲区)。用于为整个测试执行启动 1 个虚拟显示的测试执行,由于某种原因,当该 EC2 实例上的 chrome 升级到 v95 时,会导致并发 运行 时描述的问题。

解决方案:每次测试启动虚拟显示,消除EC2并发执行造成的干扰。