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工具清除操作系统的杂务,包括陈旧的

      对我来说,解决方案是安装dbus-x11

      apt install dbus-x11
      

      但是,应用程序无法访问系统菜单中的工具。执行权限不授予对系统组件的访问权限(您的一个或多个子进程是无主的,)。我不太确定我是否理解。什么是“工具”,什么是“系统菜单”?这是不是经常发生?这正常吗?这似乎是操作系统的问题。Dbus是一个进程间通信库。您使用的是哪种linux操作系统?它是Ubuntu 16.04.3。在这里,您可以找到避免此类警告的提示