从 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并发执行造成的干扰。
我们正在使用: 硒: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并发执行造成的干扰。