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



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

问题:

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

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

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

我们在铬中添加了bug:https://bugs.chromium.org/p/chromium/issues/detail?id=1271067

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

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

最新更新