问题:

昨晚部署了一个新的 docker 节点, 默认拉取了最新的 selenium/node-chrome-debug 镜像。 跑了一遍用例后,发现模拟移动设备的用例都失败了。

排查:

排查了一下,发现新的 docker 镜像里 chrome 版本是 67,chromedriver 版本是 3.13, 而旧的镜像版本分别是 62 和 3.11, 用例执行正常。

在 selenium docker 的 github 项目上提了 issue, 得到回复是 chrome 的 bug ,目前还没修复。 具体记录如下:

selenium docker 上的 issue 记录:
https://github.com/SeleniumHQ/docker-selenium/issues/758

chrome driver 上的 issue 记录:
https://bugs.chromium.org/p/chromedriver/issues/detail?id=2144&desc=2

Test testClickElement from MobileEmulationCapabilityTest class fails on Chromium for all platforms

chrome 上的 issue 记录:
https://bugs.chromium.org/p/chromium/issues/detail?id=784284

No touch events in mobileEmulation

解决:

既然官方还没解决,只好重新拉取 selenium/node-chrome-debug:3.11.0 镜像部署, 用例执行恢复正常。


↙↙↙阅读原文可查看相关链接,并与作者交流