非常に複雑なセットアップを使用して、さまざまな非公開Webページをテストしています。 jenkins
を使用して、docker
image内でpython-Selenium
テストを実行します。そのようにして、私はジェンキンス環境から完全に独立しており、自分の環境を作成できます。この環境では、次のソフトウェアがインストールされています。
ほとんど成功するテストを実行すると、次のような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
私の質問:
表示されているエラーは次のとおりです。
(firefox:55): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
/usr/bin/dbus-launch terminated abnormally without any error message
したがって、dbus-launch
が異常終了すると、Firefox
がD-BUSデーモンおよびfails
への接続を試行することは明らかです。
dbus-launch
は基本的にシェルスクリプトを介してfirefox
によってメッセージバスを起動するユーティリティです。通常、ユーザーのログインスクリプトから呼び出されます。 dbus-launchセッションバスインスタンスを起動し、そのインスタンスのaddress
およびpid
を標準出力に出力します。
dbus-launch
の詳細については、 Linux man page
su(root)、Sudo、suedit、gksを使用すると、このエラーが発生する可能性があります。主な理由はDBUS_SESSION_BUS_ADDRESS retains its value when you
suinstead of picking up the value in /root/.dbus/session-bus/
です。
GConf-WARNING **: Client failed to connect to the D-BUS daemon:
here
の詳細な説明があります。
別の考えられる理由は、ベースのFirefox
ブラウザーバージョンが、現在のバージョンに到達するために更新が行われた古いバージョンである可能性があることです。
次のように、このbunt関連の問題に対処するために利用可能なソリューションがいくつかあります。
NSS_USE_SHARED_DB
で別のエラーになる可能性があります。したがって、export NSS_USE_SHARED_DB = ENABLEDも使用する必要があります。最も便利な方法は、すべての構成を.bashrcファイルに含めることです。
export $(dbus-launch)
export NSS_USE_SHARED_DB=ENABLED
firefox &
この discussion
は、ソリューションについて詳しく説明しています。
dbus-launch
がシステムにインストールされていない場合、dbus-launchプログラムを含むdbus-x11パッケージをインストールする必要があります。Firefox
Browserの古いベースバージョンをアンインストールし、最近リリースされた[〜#〜] ga [〜#〜]バージョンのFirefox
Browserをインストールすることです。dbus-launchの問題は、buntとMozilaの両方によって適切に対処されました。このエラーを克服するには、以下の手順に従う必要があります。
Ubuntu
OS
を 最新のパッチリリース およびUpdates
で更新してください。Selenium-Python
client 、WebDriver variant
( GeckoDriver
)およびWeb Browser
(Firefox Browser
)を使用するClean and Build
theProject WorkspaceTest Suite
を実行する前と実行した後、IDE
を再度確認します。Clear
ブラウザキャッシュTests
の実行前後。Web Client
バリアントのいずれかをuninstall
する必要がある場合(Mozilla Firefox
)Revo UninstallarwithModerate Memory Scanを使用して、古いレジストリ設定を破棄します。CCleaner
ツールを定期的に使用して、古い Rust_mozprofile directories
を含むOSの雑用を一掃してください。このメッセージはどういう意味ですか?
DBus は、プロセス間転流用のメッセージバスシステムです。同じ題目ではないにしても、同様の題目に未解決のgeckodriver
問題があります。
これは、テストが失敗することがある理由を示すものでしょうか?
警告は実際にはテストに影響を与えるべきではありませんが、テストで実際に何が起こっているのかを見ずに断続的なテストの失敗を推測することは困難です。
もしそうなら、それを修正する方法?
試すべきことがいくつかあります。
geckodriver
を 最新の安定バージョン (現在0.19.1)にアップグレードします私にとっての解決策は、dbus-x11をインストールすることでした
apt install dbus-x11