运行TestNG.xml遇SessionNotCreatedException:ChromeDriver与Chrome版本不兼容
解决ChromeDriver与Chrome版本不兼容导致的SessionNotCreatedException问题
问题根源
你遇到的错误核心是版本不匹配:当前使用的ChromeDriver仅支持Chrome 114,但你的Chrome浏览器版本为122.0.6261.129。WebDriverManager 5.6.0发布于2023年10月,未适配Chrome 122系列版本,导致无法自动下载对应版本的驱动。
解决方案
1. 升级WebDriverManager到兼容版本
将WebDriverManager版本升级至5.8.0及以上(该版本开始支持Chrome 120+系列),修改Maven依赖:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.8.0</version> </dependency>
若需适配更近期的Chrome版本,可直接使用Maven仓库中的最新稳定版。
2. 确认代码调用逻辑
确保代码中正确触发WebDriverManager的自动配置,未手动指定旧版本驱动路径:
import io.github.bonigarcia.wdm.WebDriverManager; import org.openqa.selenium.chrome.ChromeDriver; public class TestClass { public static void main(String[] args) { // 自动下载并配置对应版本的ChromeDriver WebDriverManager.chromedriver().setup(); ChromeDriver driver = new ChromeDriver(); // 测试逻辑代码 driver.quit(); } }
3. 清理WebDriverManager缓存
若升级后仍未生效,手动删除本地缓存目录,强制重新下载匹配驱动:
- Windows路径:
C:\Users\<你的用户名>\.cache\selenium\chromedriver - 删除该目录下所有文件后重新运行测试
4. 备选方案:手动配置ChromeDriver
如果自动配置仍有问题,可手动操作:
- 下载与Chrome 122.0.6261.129完全匹配的ChromeDriver版本
- 将
chromedriver.exe放入项目目录或添加至系统环境变量PATH - 在代码中指定驱动路径:
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver.exe"); ChromeDriver driver = new ChromeDriver();
内容的提问来源于stack exchange,提问作者uday
相关产品推荐
相关产品推荐

