Jenkins执行Robot测试时FirefoxDriver端口7055连接失败求助
Jenkins中Robot测试Firefox连接失败的解决方案
问题重现
在Jenkins持续集成环境运行Robot测试用例时,构建后抛出以下错误:
org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/bin/firefox) on port 7055; process output follows: code.com":{"d":"/tmp/anonymous22248968795791837webdriver-profile/extensions/fxdriver@googlecode.com","e":false,"v":"2.43.1","st":1692883457000,"mt":1692883457000}},"app-system-defaults":{"firefox@getpocket.com":{"d":"/opt/firefox/browser/features/firefox@getpocket.com.xpi","e":true,"v":"1.0.5","st":1692880913000},"e10srollout@mozilla.org":{"d":"/opt/firefox/browser/features/e10srollout@mozilla.org.xpi","e":true,"v":"1.9","st":1692880913000},"webcompat@mozilla.org":{"d":"/opt/firefox/browser/features/webcompat@mozilla.org.xpi","e":true,"v":"1.0","st":1692880913000},"aushelper@mozilla.org":{"d":"/opt/firefox/browser/features/aushelper@mozilla.org.xpi","e":true,"v":"2.0","st":1692880913000}},"app-global":{"{972ce4c6-7e08-4474-a285-3208198ce6fd}":{"d":"/opt/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","e":true,"v":"52.0","st":1692880913000}}} 1692883459521 addons.xpi DEBUG No changes found 1692883459531 addons.xpi DEBUG Registering manifest for /opt/firefox/browser/features/aushelper@mozilla.org.xpi 1692883459532 addons.xpi DEBUG Loading bootstrap scope from /opt/firefox/browser/features/aushelper@mozilla.org.xpi 1692883459538 addons.xpi DEBUG Calling bootstrap method startup on aushelpe... [ Message content over the limit has been removed. ] ...9827 addons.xpi-utils DEBUG Finished async read of XPI database, parsing... 1692883459830 addons.xpi-utils DEBUG Successfully read XPI database 1692883459845 addons.manager DEBUG Starting provider: <unnamed-provider> 1692883459845 addons.manager DEBUG Registering shutdown blocker for <unnamed-provider> 1692883459845 addons.manager DEBUG Provider finished startup: <unnamed-provider> *** Blocklist::_loadBlocklistFromFile: blocklist is disabled 1692883459965 addons.manager DEBUG Starting provider: PreviousExperimentProvider 1692883459965 addons.manager DEBUG Registering shutdown blocker for PreviousExperimentProvider 1692883459966 addons.manager DEBUG Provider finished startup: PreviousExperimentProvider
已确认浏览器与WebDriver版本匹配,但问题仍存在。
解决方案
- 配置虚拟显示环境:Jenkins无桌面环境下Firefox无法启动图形界面,安装
xvfb后,在构建步骤中执行Xvfb :99 -ac,或通过Jenkins的Xvfb插件配置虚拟显示。 - 指定正确的Firefox二进制路径:检查
/bin/firefox是否为实际执行文件,若路径错误,在Robot脚本中指定正确路径:Open Browser ${URL} Firefox executable_path=/opt/firefox/firefox - 清理临时WebDriver Profile:构建后执行命令删除临时profile目录,避免残留文件干扰:
rm -rf /tmp/anonymous*webdriver-profile。 - 禁用Firefox自动更新:修改Firefox配置
about:config,设置app.update.enabled为false,或启动时添加参数--disable-update。 - 检查端口占用:在Jenkins节点执行
lsof -i :7055查看端口是否被占用,若被占用则杀死对应进程,或在WebDriver配置中指定其他空闲端口。 - 启用无头模式:无需图形界面,在Robot脚本中添加无头启动参数:
${firefox_options}= Evaluate selenium.webdriver.FirefoxOptions() selenium.webdriver Call Method ${firefox_options} add_argument --headless Open Browser ${URL} Firefox options=${firefox_options} - 验证兼容性细节:部分旧版Firefox需配合特定启动参数,例如添加
--marionette-port指定端口,或设置marionette.enabled为true。
内容的提问来源于stack exchange,提问作者Shivaram Kakarla
相关产品推荐
相关产品推荐

