Python 什么是;客户端无法连接到D-BUS守护程序;什么意思?
我使用一个非常复杂的设置来测试各种非公共网页。我使用Python 什么是;客户端无法连接到D-BUS守护程序;什么意思?,python,selenium,jenkins,ubuntu,os,Python,Selenium,Jenkins,Ubuntu,Os,我使用一个非常复杂的设置来测试各种非公共网页。我使用jenkins在docker图像中运行python selenium测试。这样,我完全独立于jenkins环境,可以创建自己的环境。在此环境中,我安装了以下软件: Ubuntu 16.04.3 Firefox:Mozilla Firefox 57.0.1 壁虎河:0.18.0 鼻测试:1.3.7 硒:3.8.0 在运行测试时,我看到geckodriver.log输出如下消息 (firefox:55): GConf-WARNING **: C
jenkins
在docker
图像中运行python selenium
测试。这样,我完全独立于jenkins环境,可以创建自己的环境。在此环境中,我安装了以下软件:
- Ubuntu 16.04.3
- Firefox:Mozilla Firefox 57.0.1
- 壁虎河:0.18.0
- 鼻测试:1.3.7
- 硒:3.8.0
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
我的问题是:
- 这个信息是什么意思
- 这可能是测试失败的原因吗李>
- 如果是,如何修复
geckodriver
问题:
- 将geckodriver升级到(当前为0.19.1)
- 将Firefox更新至最新夜间版本(目前为58)
- 试一试
- 试一试
- 您看到的错误是:
(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守护进程,但由于dbus启动异常终止而失败
dbus发射 dbus-launch基本上是firefox通过shell脚本启动消息总线的实用程序。它通常会从用户的登录脚本中调用。dbuslaunch启动一个会话总线实例,并将该实例的地址和
pid
打印到标准输出
您可以从
根本原因 如果使用
su
(root)、sudo
、suedit
、gksu
,可能会出现此错误。主要原因是DBUS\u SESSION\u BUS\u ADDRESS
在su
时保留其值,而不是在/root/.DBUS/SESSION BUS
中拾取值
在这里,您将看到有关的详细讨论
另一个可能的原因可能是Firefox浏览器的基本版本可能是较旧的版本,在该版本上进行了更新以达到当前版本
解决方案: 有两种解决方案可用于解决此相关问题,如下所示:
- 在启动Firefox之前,必须键入
export$(dbus-launch)
- 但是,这可能会导致另一个错误
。因此,您还必须使用NSS\u USE\u SHARED\u DB
导出NSS\u使用\u共享\u DB=ENABLED
- 最方便的方法是将所有配置放入
文件中:.bashrc
export $(dbus-launch) export NSS_USE_SHARED_DB=ENABLED firefox &
- 如果系统上未安装
,则必须安装包含dbus-launch程序的dbus-launch
软件包dbus-x11
- 一个有效的解决方案是卸载旧的Firefox浏览器基础版本,并安装最新发布的GA版本的Firefox浏览器
最佳方法 Ubuntu和Mozila都正确地解决了dbus启动的问题。要克服此错误,您需要遵循以下提到的步骤:
- 使用和更新保持您的Ubuntu更新
- 始终使用最新版本的变体和Web浏览器,例如Firefox浏览器
- 在执行测试套件之前和之后,通过IDE重新清理和构建项目工作区
- 在执行测试之前和之后清除浏览器缓存
- 如果您必须卸载任何Web客户端变体(如Mozilla Firefox),您可以使用带有中等内存扫描的Revo Uninstallar,以便丢弃过时的注册表设置
- 定期使用CCleaner工具清除操作系统的杂务,包括陈旧的
apt install dbus-x11
但是,应用程序无法访问系统菜单中的工具。执行权限不授予对系统组件的访问权限(您的一个或多个子进程是无主的,)。我不太确定我是否理解。什么是“工具”,什么是“系统菜单”?这是不是经常发生?这正常吗?这似乎是操作系统的问题。Dbus是一个进程间通信库。您使用的是哪种linux操作系统?它是Ubuntu 16.04.3。在这里,您可以找到避免此类警告的提示