You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac环境下Jenkins+Maven+TestNG+Selenium WebDriver测试连接拒绝问题

解决Jenkins运行Selenium测试时出现的connection refused问题

我来帮你排查这个困扰你的问题——本地Eclipse能正常跑TestNG测试套件,但Jenkins一跑就报org.openqa.selenium.WebDriverException: connection refused,核心原因几乎都是Jenkins环境与本地开发环境的配置/权限差异导致的,咱们一步步来解决:

1. 优先排查Geckodriver的路径问题

你代码里写的Geckodriver路径是"//eclipse- Oxygen/aaa/src/test/java/aa/aaa/geckodriver 4",这个路径是基于你本地Eclipse的工作目录,但Jenkins有自己独立的工作空间(通常在/Users/Shared/Jenkins/Home/workspace/你的项目名/下),根本找不到这个路径!

解决办法:

  • 用动态路径替代硬编码:把Geckodriver放到项目的src/test/resources目录下,然后通过项目根目录动态拼接路径,这样Eclipse和Jenkins都能识别:
// 获取项目根目录
String projectRoot = System.getProperty("user.dir");
// 拼接Geckodriver路径(注意去掉文件名里的空格,避免解析错误)
String geckoPath = projectRoot + "/src/test/resources/geckodriver";
System.setProperty("webdriver.gecko.driver", geckoPath);
  • 重命名Geckodriver:你的Geckodriver文件名带空格(geckodriver 4),很容易导致路径解析失败,建议改成geckodriver_v4这类无空格的名称。

2. 检查Jenkins的权限与Firefox访问问题

Mac上的Jenkins默认是以jenkins系统用户运行的,这个用户可能没有权限访问Firefox或者执行Geckodriver:

  • 给Geckodriver加执行权限:在终端里执行chmod +x /path/to/your/geckodriver,确保它能被Jenkins用户执行。
  • 验证Firefox路径的可访问性:在Jenkins的"执行shell"步骤里加一行ls /Applications/Firefox.app/Contents/MacOS/firefox-bin,看看Jenkins能不能找到这个文件。如果找不到,可能需要确认Firefox的安装路径是否正确,或者给Jenkins用户授权访问应用目录。

3. 配置Firefox无头模式(关键!)

Jenkins通常运行在无桌面的环境下,而Selenium启动Firefox需要桌面会话,这会直接导致连接失败。必须配置Firefox以无头模式运行:

// 用FirefoxOptions替代DesiredCapabilities(更推荐,DesiredCapabilities已逐步被淘汰)
FirefoxOptions options = new FirefoxOptions();
options.setBinary("/Applications/Firefox.app/Contents/MacOS/firefox-bin");
// 添加无头参数
options.addArguments("--headless");
options.addArguments("--disable-gpu"); // 针对Mac/Linux的兼容参数
// 保留你的原有配置
options.setAcceptInsecureCerts(true);
options.setJavascriptEnabled(true);
// 初始化Driver
driver = new FirefoxDriver(options);
driver.get("https://www.google.com");

4. 验证Geckodriver与Firefox的版本兼容性

如果上面的步骤都没解决,检查一下Geckodriver和Firefox的版本是否匹配:

  • 比如Firefox 115+需要Geckodriver 0.33.0及以上版本,版本不兼容会直接导致Driver无法连接浏览器。你可以确认两者版本对应关系后,更新到匹配的版本。

按照这个顺序排查,大概率能解决你的问题!

内容的提问来源于stack exchange,提问作者user3108630

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:29:16