J'utilise une configuration très complexe pour tester diverses pages Web non publiques. J'utilise jenkins
pour exécuter les tests python-Selenium
dans une image docker
. De cette façon, je suis complètement indépendant de l'environnement Jenkins et je peux créer mon propre environnement. Dans cet environnement, les logiciels suivants sont installés:
Lors de l'exécution des tests, qui réussissent généralement, je vois dans le geckodriver.log
des messages de sortie comme
(firefox:55): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
/usr/bin/dbus-launch terminated abnormally without any error message
Mes questions:
L'erreur que vous voyez est la suivante:
(firefox:55): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
/usr/bin/dbus-launch terminated abnormally without any error message
Il est donc clair que Firefox
tente de se connecter à démon D-BUS et fails
car dbus-launch
se termine de manière anormale.
dbus-launch
est en gros le utilitaire permettant de démarrer un bus de messages avec firefox
via un script Shell. Il serait normalement appelé à partir des scripts de connexion d'un utilisateur. dbus-launch lance une instance de bus de session et imprime les address
et pid
de cette instance sur la sortie standard.
Vous pouvez en savoir plus sur dbus-launch
du Linux man page
Cette erreur peut survenir si vous utilisez su (racine) _, Sudo, suedit, gksu. La raison principale est DBUS_SESSION_BUS_ADDRESS retains its value when you
SUinstead of picking up the value in /root/.dbus/session-bus/
.
Vous trouverez une discussion détaillée sur GConf-WARNING **: Client failed to connect to the D-BUS daemon:
here
.
Une autre raison possible peut être la version de base Firefox
du navigateur peut être une version plus ancienne sur laquelle des mises à jour ont été prises pour atteindre la version actuelle.
Deux solutions sont disponibles pour résoudre ce problème connexe Ubuntu comme suit:
NSS_USE_SHARED_DB
. Vous devez donc également utiliser export NSS_USE_SHARED_DB = ENABLED.Le moyen le plus pratique serait de mettre toute la configuration dans le fichier .bashrc:
export $(dbus-launch)
export NSS_USE_SHARED_DB=ENABLED
firefox &
Cette discussion
parle de la solution en détail.
dbus-launch
n'est pas installé sur votre système, vous devez installer le package dbus-x11 qui contient le programme dbus-launch.Firefox
Browser via Revo Uninstallar et à installer une version récente GA de Firefox
Browser.Le problème avec dbus-launch a été résolu correctement par Ubuntu et Mozila. Pour surmonter cette erreur, vous devez suivre les étapes mentionnées ci-dessous:
Ubuntu
_ OS
mise à jour avec les dernières mises à jour de correctifs et Updates
.Selenium-Python
client , WebDriver variant
( GeckoDriver
) et Web Browser
(Firefox Browser
)Clean and Build
le espace de travail du projet _ a actualisé votre IDE
avant et après l'exécution de votre Test Suite
.Clear
le cache du navigateur avant et après l'exécution de votre Tests
.uninstall
l'une des variantes Web Client
(Mozilla Firefox
), utilisez Revo Uninstallar avec analyse de mémoire modérée afin que le paramètres de registre périmé sont jetés.CCleaner
pour effacer les tâches du système d’exploitation, y compris l’ancien Rust_mozprofile directories
.Que signifie ce message?
DBus est un système de bus de messages pour la commutation interprocessus. Il existe une question ouverte geckodriver
sur un sujet similaire, sinon identique:
Cela pourrait-il être une indication de la raison pour laquelle parfois les tests échouent?
L'avertissement ne devrait pas vraiment affecter les tests, mais il est difficile de spéculer sur vos échecs de test intermittents sans voir ce qui se passe réellement dans vos tests.
Si oui, comment y remédier?
Voici quelques choses à essayer:
geckodriver
vers dernière version stable (actuellement 0.19.1)Pour moi, la solution a été d'installer dbus-x11
apt install dbus-x11