我正在使用非常复杂的设置来测试各种非公开网页。我使用jenkins
在python-selenium
图片中运行docker
个测试。这样,我完全独立于jenkins环境,可以创建自己的环境。在这种环境中,我安装了以下软件:
当运行大多数成功的测试时,我会在geckodriver.log
输出消息中看到
(firefox:55): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
/usr/bin/dbus-launch terminated abnormally without any error message
我的问题:
答案 0 :(得分:5)
您看到的错误是:
(firefox:55): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
/usr/bin/dbus-launch terminated abnormally without any error message
很明显Firefox
尝试连接到 D-BUS守护程序和fails
,因为dbus-launch
异常终止。
dbus-launch
基本上是{strong>实用程序,可以通过shell脚本 firefox
启动消息总线。通常会从用户的登录脚本中调用它。 dbus-launch 启动会话总线实例,并将该实例的address
和pid
打印到标准输出。
您可以从Linux man page
dbus-launch
的更多信息
如果您使用 su(root), sudo , suedit , gksu ,则会出现此错误。主要原因是 DBUS_SESSION_BUS_ADDRESS retains its value when you
su instead of picking up the value in /root/.dbus/session-bus/
。
您会在GConf-WARNING **: Client failed to connect to the D-BUS daemon:
here
找到详细讨论。
另一个可能的原因可能是基础Firefox
浏览器版本可能是旧版本,在该版本上进行了更新以达到当前版本。
有几种解决方案可用于解决此 Ubuntu 相关问题,如下所示:
NSS_USE_SHARED_DB
出现另一个错误。所以你必须使用导出NSS_USE_SHARED_DB = ENABLED 。最方便的方法是将所有配置放在 .bashrc 文件中:
export $(dbus-launch)
export NSS_USE_SHARED_DB=ENABLED
firefox &
此discussion
详细说明了解决方案。
dbus-launch
,则必须安装包含 dbus-launch 程序的 dbus-x11 软件包。Firefox
浏览器的旧基础版本,并安装最近发布的{strong> GA 版本的{{1} }浏览器。Ubuntu 和 Mozila 正确解决了 dbus-launch 的问题。要克服此错误,您需要按照以下步骤操作:
Firefox
更新 Ubuntu
OS
。Selenium-Python
client版本, Updates
(GeckoDriver
)和 WebDriver variant
(<强> Web Browser
强>)Firefox Browser
项目工作区在执行Clean and Build
之前和之后重新通过IDE
。Test Suite
之前和之后Clear
浏览器缓存。Tests
任何uninstall
个变体( Web Client
),请使用 Revo Uninstallar 中等内存扫描,以便废弃陈旧的注册表设置。Mozilla Firefox
工具清除操作系统杂项,包括陈旧的rust_mozprofile directories
。答案 1 :(得分:1)
这条消息是什么意思?
DBus是用于进程间换向的消息总线系统。如果不是同一主题,则存在一个开放的geckodriver
问题:
这是否表明有时候测试失败的原因?
警告不应该真正影响测试,但如果没有看到测试中实际发生的情况,很难推测间歇性测试失败。
如果是,如何解决?
以下是一些尝试:
geckodriver
升级为latest stable version(目前为0.19.1)答案 2 :(得分:0)
对我来说,解决方案是安装dbus-x11
apt install dbus-x11