Windows环境下Chrome测试偶现chrome not reachable WebDriverException求助
我之前也碰到过这个间歇性的头疼问题,折腾了好一阵子才摸出几个有效的解决方案,分享给你试试:
1. 彻底清理Chrome残留进程
很多时候这个问题是因为前一次测试的Chrome/ChromeDriver进程没有完全退出,残留进程占用了端口或资源,导致新实例无法正常启动。你可以在测试的teardown阶段,先调用driver.quit(),再强制杀掉所有相关进程:
// 先正常关闭驱动 driver.quit(); // 强制杀死所有Chrome和ChromeDriver进程(包含子进程) Runtime.getRuntime().exec("taskkill /F /IM chrome.exe /T"); Runtime.getRuntime().exec("taskkill /F /IM chromedriver.exe /T");
2. 优化Chrome启动参数
给Chrome添加几个稳定性相关的启动参数,减少资源竞争和潜在冲突:
ChromeOptions options = new ChromeOptions(); // 禁用共享内存限制,避免Windows下的资源不足问题 options.addArguments("--disable-dev-shm-usage"); // 禁用GPU加速,减少渲染层面的异常 options.addArguments("--disable-gpu"); // 禁用扩展程序,避免第三方扩展干扰 options.addArguments("--disable-extensions"); // 禁用弹窗拦截(根据测试需求可选) options.addArguments("--disable-popup-blocking"); // 如果不需要可视化界面,无头模式通常更稳定 options.addArguments("--headless=new"); WebDriver driver = new ChromeDriver(options);
3. 延长超时时间
有时候是Chrome启动速度慢,默认超时时间不够导致报错。你可以延长ChromeDriver的启动超时和页面加载超时:
// 配置ChromeDriver服务的启动超时 ChromeDriverService service = new ChromeDriverService.Builder() .withTimeout(Duration.ofMinutes(2)) // 延长至2分钟 .build(); ChromeOptions options = new ChromeOptions(); WebDriver driver = new ChromeDriver(service, options); // 延长页面加载超时 driver.manage().timeouts().pageLoadTimeout(Duration.ofMinutes(2));
4. 检查系统资源
Windows系统资源不足(内存、CPU占用过高)也会导致Chrome间歇性启动失败:
- 关闭测试机器上不必要的后台程序(比如杀毒软件的实时扫描、闲置的办公软件);
- 减少并发测试的数量,避免资源耗尽;
- 定期清理Chrome的临时缓存文件,路径为:
C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data\Default\Cache
5. 确保Chrome与ChromeDriver版本完全匹配
虽然你用了最新版本,但有时候最新版的ChromeDriver和Chrome可能存在兼容性小问题。你可以严格按照ChromeDriver的版本对应表,下载和当前Chrome版本完全匹配的驱动(比如Chrome 114.x对应ChromeDriver 114.x),版本匹配度比“最新版”更重要。
附你提供的异常详情:
org.openqa.selenium.WebDriverException: chrome not reachable
(Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 6.1.7601 SP1 x86_64)
(WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 62.52 seconds
Build info: version: '2.52.0', revision: '4c2593cfc3689a7fcd7be52549167e5ccc93ad28', time: '2016-02-11 11:22:43'
System info: host: 'CORPMNA7158A', ip: '10.26.195.163', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_144'
Driver info: org.openqa.selenium.chrome.ChromeDriver
内容的提问来源于stack exchange,提问作者Conner




