Jenkins测试环境Chrome版本不兼容引发SessionNotCreatedException求助
首先,这个报错的核心原因非常明确:你的ChromeDriver版本和Chromium版本完全不匹配。先梳理下你当前的环境版本:
- Chromium版本:
Chromium 64.0.3282.119 - ChromeDriver版本:
ChromeDriver 2.33 (0)
ChromeDriver对Chrome/Chromium的版本有严格的对应规则,ChromeDriver 2.33仅支持Chrome 60~62版本,而你现在的Chromium已经是64.x,远远超出了它的支持范围,所以才会抛出这个错误:
<<< ERROR! org.openqa.selenium.SessionNotCreatedException: session not created exception: Chrome version must be >= 65.0.3325.0
具体解决步骤
同步ArchLinux包,更新ChromeDriver到匹配版本
Arch是滚动发行版,系统里的chromedriver包默认会和chromium版本保持同步。你可以先执行以下命令更新系统包:sudo pacman -Syu chromedriver更新完成后,再次执行
chromedriver -v和chromium -version,确认两者版本处于兼容区间(比如Chromium 64.x对应ChromeDriver 2.35或2.36)。手动替换ChromeDriver(如果pacman更新无效)
如果系统源里的ChromeDriver版本还是不匹配,你可以手动下载对应版本的ChromeDriver:- 找到支持Chromium 64.0.3282.119的ChromeDriver版本(比如2.35或2.36,这两个版本分别支持Chrome 6264、6365)
- 解压下载的压缩包,将
chromedriver可执行文件替换到系统的PATH路径下(比如/usr/bin/) - 执行
chmod +x /usr/bin/chromedriver确保权限正确
验证并重新运行测试
替换完成后,先在测试节点上手动运行版本检查命令:chromedriver -v chromium -version确认版本匹配后,重新触发Jenkins的测试任务,应该就能正常创建会话了。
长期维护建议
因为Arch是滚动更新系统,建议定期执行sudo pacman -Syu同步所有包,这样能保证Chromium和ChromeDriver始终保持版本兼容。另外,你可以在Jenkins任务中添加一个前置步骤,先检查两者版本是否匹配,提前规避这类问题。
内容的提问来源于stack exchange,提问作者DenCowboy




