ここに新しいユーザー。
煙と回帰テストを何時間も構築した後、オンラインで多くのケースを読んだ後、phantomjsは分度器で実行するのが難しいことが知られていることがわかりました。 Jenkinsは、これまでに与えられたすべてのタスクに対してphantomjsを実行しています。
ウィンドウシステムがインストールされていないciの一部として実行するには、これらのテストが必要です。
ですから、完全にヘッドレスのブラウザまたはヘッドレスのクロム(それは最も有益でしょう)と、それを設定するための段階的な推奨事項があれば、私はそれを感謝します。私はすでにconf.jsとe2e.conf.jsファイルを持っています。私のコードはChromeで完全に正常に動作します。
私はiMacとSelenium Webdriverを使用していると思います。
編集:問題=分度器はphantomjsでは機能しません。私がしたこと=誰かが同様の状況に直面した場合は、異なるWeb要素を使用してグーグルで検索します。また、分度器で機能するヘッドレスブラウザをグーグルで検索し、適切な解決策を見つけることができませんでした。
最善の策は、Chromeを継続することです。少しの作業で、CIを介してヘッドレスで動作させることができます。これは、ヘッドレスのJenkinsサーバーとDockerUbuntuサーバーを使用して行います。
Chromeを構成する必要があります。ここからGistをフォローすることで開始できます https://Gist.github.com/addyosmani/5336747
Macを使用しているので、マシンのDockerを介してヘッドレステストを実行するか、CIテストの2番目の構成を設定できます。
別のリソース http://tobyho.com/2015/01/09/headless-browser-testing-xvfb/
誰かがここに到達した場合-答えは時代遅れです。 Chromium(次のリリース)はヘッドレスモードをサポートするようになりました。一生懸命働く必要はありません。
あなたはここでもっと読むことができます:
https://developers.google.com/web/updates/2017/04/headless-chrome
これはコマンドラインからの例です
chrome \
--headless \ # Runs Chrome in headless mode.
--disable-gpu \ # Temporarily needed for now.
--remote-debugging-port=9222 \
https://www.chromestatus.com # URL to open. Defaults to about:blank.
そして、あなたは単にクロムの機能で分度器をトリガーすることができます:
アクティブ化chrome分度器(セレン)からアクティブ化するときの言語フラグ
これが私が使用している構成です
capabilities: {
'browserName': browserName,
chromeOptions: {
binary: '/Users/guymograbi/Downloads/chrome-mac/Chromium.app/Contents/MacOS/Chromium',
args: ['--headless','--disable-gpu']
}
},
binary
プロパティを必要としません私の環境では、新しいバージョンのchromeが安定したブランチで利用可能であるため、binary
プロパティを削除できることがわかりました
私の分度器の構成は
capabilities: {
'browserName': 'chrome',
chromeOptions: {
args: [ '--headless', '--disable-gpu', '--no-sandbox', '--window-size=1920x1200' ]
},
},
そして、それは今何週間もスムーズに動作します。強くお勧めします。
カルマでヘッドレスchromeを使用するのはとても簡単です:
browsers: 'ChromeHeadless'
chromeローダーとすべてで動作するはずです。 詳細
ヘッド付きの通常のブラウザーでテストを続けますが、サービスとしてリモートSeleniumサーバーを使用します Sauce Labs
または BrowserStack
、以下を参照:
Chrome 59+がインストールされている場合は、次のフラグを使用してChromeを開始します:
--headless
さらにヘルプが必要な場合はお知らせください。設定を作成します:)お楽しみください