2017-10-03 13 views
0

私が直面している問題は、UIテストでビルドを開始するとxvfbでブラウザを起動できないことです。UIテストのTeamCityエージェントでxvfbの表示が見えない

Serverは、ヘッドレスモードクロームではUbuntuの16

  1. で実行されている適しています。
  2. "mvn clean test"のように手動でテストを開始すると、クロムが正常に動作します。 xvfbサーバーが起動しています。プロセスリストで確認できます。私は:export DISPLAY =:99そしてすべて正常に動作します。
  3. 私はTCにテストを開始すると、私はこれを取得:

[MainPageTest] java.lang.IllegalArgumentException: org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally (Driver info: chromedriver=2.32.498513 (2c63aa53b2c658de596ed550eb5267ec5967b351),platform=Linux 4.4.0-92-generic x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 60.06 seconds Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' System info: host: 'tc.atbdev.ru', ip: '172.31.1.100', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-92-generic', java.version: '1.8.0_144' Driver info: driver.version: ChromeDriver

誰も私が間違って何をしたか教えてもらえますか?多分、私はビルド構成のどこかにいくつかのDISPLAYを指摘するべきでしょうか?私はgnomeデスクトップでXvncのディスプレイを持っています - 実際にテストを実行するために使用できますか?

UPD:TCとそのデフォルトエージェントは同じサーバー上にあることを忘れていました。 TCはスクリプトで開始します:

> USER="username" export TEAMCITY_DATA_PATH="/var/www/.../.BuildServer" 
> case $1 in start) start-stop-daemon --start -c $USER --exec 
> /var/www/.../public_html/bin/runAll.sh start ;; stop) 
> start-stop-daemon --start -c $USER --exec 
> /var/www/.../public_html/bin/runAll.sh stop ;; esac exit 0 

答えて

0

おそらくドッカーベースのアプローチがあなたのケースでは優れています。たとえば、すべての問題がすでに解決されている「ドッカーヘッドレスVNCコンテナ」https://github.com/ConSol/docker-headless-vnc-containerをご覧ください。また、ホールUIが別のコンテナ環境にカプセル化されているという利点もあります。実際のデスクトップUIとブラウザを実行できます。コンテナの実行時に、VNCを使用してコンテナを調べることができます。

コンテナの内側でmavenを使用したくない場合は、https://github.com/ConSol/sakuli/blob/master/docker/Dockerfile.sakuli.ubuntu.xfce.java#L42

をご覧ください
関連する問題