我们的Robotframework测试套件每晚都会针对我们的网站运行。在过去的几周里,在一些测试开始时出现了非常随机的故障,在无头chrome浏览器打开时出现了以下错误:
(chrome not reachable)
(The process started from chrome location /usr/bin/chromium-browser is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
它从来都不是同一个测试,而且似乎是随机发生的。在每组测试中,浏览器将打开,进行一些测试,然后关闭。这种情况将在测试文件中发生多次。测试套件有时可能会持续几天没有任何问题,然后突然又会再次发生。我已经厌倦了按照其他帖子的建议添加一些chrome选项,但问题仍然存在。我还检查并确认服务器从未承受任何压力。
浏览器打开时将显示以下代码。
${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
${user_agent} set variable --user-agent=Test User
${sandbox} set variable --no-sandbox
${shm-usage} set variable --disable-dev-shm-usage
Call Method ${options} add_argument ${user_agent}
Call Method ${options} add_argument ${sandbox}
Call Method ${options} add_argument ${shm-usage}
open browser about:blank headlesschrome options=${options}
Set Window Size 1440 1080
它位于最后一行的第二行,在那里它会转到open browser
,有时会随机失败并出现错误。
我建议您将计划时间向前或向后更改2-3小时,然后监视作业是否失败。我想你会收到这个错误,因为Jenkins正在同时启动其他工作,并且没有足够的资源来运行Chrome。