JSTestDriverをjenkins-CIと統合したいと思います。問題は、ビルドサーバーに表示がないことです。ブラウザをヘッドレスで実行する方法はありますか?
ありがとう
JSTestDriverをjenkins-CIと統合したいと思います。問題は、ビルドサーバーに表示がないことです。ブラウザをヘッドレスで実行する方法はありますか?
ありがとう
前述のように、サーバーがLinuxの場合、IEを実行することはできません。ただし、Firefoxなどの他のブラウザを実行することはできます。秘訣は、Firefoxをヘッドレスで実行できるようにするXVFBをJenkinsサーバーにインストールすることです。私はこの設定を使用しましたが、うまく機能します。
http://www.alittlemadness.com/2008/03/05/running-selenium-headless/
現在のGoogleChrome(MacおよびLinuxの場合はChrome 59、Windowsの場合はChrome 60)にはヘッドレスモードが組み込まれています。クロスプラットフォームで動作し、ディスプレイデバイスや仮想マシンなどをいじくり回す必要はありません。Eric Bidelmanによる優れた入門記事はここにありますが、最も重要なポイントは次のとおりです。
フラグを使用してChromeバイナリ(macOSではディレクトリ内のGoogle Chrome.app
バンドル内にあります)を起動する必要があります。GPUアクセラレーションはヘッドレスモードでは正しく機能しないため、現在、フラグを追加する必要もあります。Contents/MacOS
--headless
--disable-gpu
chrome --headless --disable-gpu [url/path/flags...]
--remote-debugging-port=[SOME_PORT]
標準の非ヘッドレスChromeと同様に、テストランナーは、フラグによって有効になっている場合、開発ツールインターフェイスを使用してChromeと通信できます。ただし、自分ですばやくテストしたい場合は、--screenshot
または--dump-dom
フラグを使用して、読み込み後にページのコンテンツを確認できます。
chrome --headless --disable-gpu --dump-dom https://stackoverflow.com/
Linuxのバージョン55およびWindowsとmacOSのバージョン56からのFirefoxには、ヘッドレスモードが組み込まれています。
現時点(2017年9月)では、Firefox55でGNU/ Linuxベースのディストリビューションを使用しており、次のようなコンソールコマンドは正常に機能します。firefox --headless http://www.wikipedia.org
これはあまり便利ではありませんが、対応するオペレーティングシステムが表示されるため機能します。 Firefoxのプロセスは実行を続けます。
この機能は時間の経過とともに徐々に改善されるため、特に自動テストと継続的インテグレーションイニシアチブに関心のある人には、公式の開発者向けドキュメントを読むことをお勧めします。