升级 macOS Monterey 12.6 后出现 Selenium 测试运行异常问题
问题:macOS Monterey 12.6升级后Selenium FirefoxDriver连接失败
环境信息
- Selenium
<selenium.java.version>3.141.59</selenium.java.version>
- FirefoxDriver
geckodriver_0.29.1
问题现象
系统升级至macOS Monterey 12.6并重启后,Selenium测试开始失败,升级前测试运行正常。报错信息如下:
org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:27173 Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' System info: host: 'xxxxxxxx', ip: 'xxxxxxxxxx', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.6', java.version: '1.8.0_331' Driver info: driver.version: FirefoxDriver at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:92) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:147)
特殊情况
执行mvn clean install后可成功运行一次测试,但再次运行测试会失败;再次执行该命令后又可运行一次测试。
已尝试的操作
- 清理缓存
- 回退Firefox版本
- 回退IntelliJ IDEA版本
- 清理IntelliJ IDEA缓存
- 重建项目
解决思路
- 核对geckodriver与Firefox版本兼容性:geckodriver 0.29.1仅适配Firefox 75-77版本,macOS Monterey 12.6搭配的Firefox版本通常更高,需升级geckodriver至对应兼容版本,确保二者版本匹配。
- 排查端口占用:测试失败后用命令
lsof -i :27173查看该端口的占用进程,手动终止残留进程后重新测试,确认是否为端口未释放导致的连接失败。 - 指定FirefoxDriver固定端口:初始化Driver时配置固定端口,避免随机端口被占用,示例代码:
FirefoxOptions options = new FirefoxOptions(); FirefoxDriverService service = new FirefoxDriverService.Builder() .usingPort(4444) .build(); FirefoxDriver driver = new FirefoxDriver(service, options);
- 检查系统权限:进入macOS系统偏好设置-安全性与隐私,确认IntelliJ IDEA、Firefox、geckodriver拥有网络访问权限,避免系统权限限制连接。
- 升级Selenium版本:Selenium 3.141.59为2018年的旧版本,与macOS Monterey兼容性较差,建议升级至Selenium 4.x版本,适配新系统与新版浏览器。
- 确保测试资源正确释放:测试结束后必须调用
driver.quit()方法,彻底关闭浏览器及geckodriver进程,防止残留进程占用系统资源。
内容的提问来源于stack exchange,提问作者Clewlow
相关产品推荐
相关产品推荐

