我在 Jenkins 中运行 Selenium 测试时遇到问题。 执行结果总是:
WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
我的测试是用 Robot Framework 编写的,并使用 Chromium webdriver。 我在命令中设置所需的路径,如下所示:
export PATH=$PATH:/usr/lib/chromium-browser; export PATH=$PATH:/usr/lib/chromium-browser/chromedriver; . /home/michal/robot_env/bin/activate; robot -L TRACE /home/michal/project_robot/tests
当我在终端中手动运行此命令时,它工作正常(Chromium 自动启动并且测试继续)。 所以问题应该出在 Jenkins 身上。我已经安装了 Xvfb 插件,但没有帮助。 另外,在 /etc/init.d/jenkins 中我放置了这些行:
/usr/bin/X :0 vt7 -ac
export DISPLAY=:0
xhost +
再一次 - 一切都没有改变。我还应该设置或检查什么?
最佳答案
我也陷入了同样的困境。 问题是jenkins有自己的用户,称为jenkins,jenkins用户无法打开浏览器。
如果您尝试先创建“su jenkins”,然后再创建“chromium-browser”,则会出现显示错误。
那是因为您遇到了这个问题。问题不在于网络驱动程序,问题在于用户。
我删除了 jenkins 创建的 jenkins 用户,并在安装 jenkins 之前创建了一个名为 jenkins 的普通用户。
然后我安装了 Jenkins 。
现在 jenkins 用户可以运行测试(因为它可以打开浏览器),但 jenkins 本身将不再加载。
关于 Selenium + Jenkins + Chromedriver = WebDriverException : Message: unknown error: Chrome failed to start: exited abnormally,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41965732/