web-dev-qa-db-ja.com

分度器で実行するのに適したヘッドレスブラウザは何ですか?

ここに新しいユーザー。

煙と回帰テストを何時間も構築した後、オンラインで多くのケースを読んだ後、phantomjsは分度器で実行するのが難しいことが知られていることがわかりました。 Jenkinsは、これまでに与えられたすべてのタスクに対してphantomjsを実行しています。

ウィンドウシステムがインストールされていないciの一部として実行するには、これらのテストが必要です。

ですから、完全にヘッドレスのブラウザまたはヘッドレスのクロム(それは最も有益でしょう)と、それを設定するための段階的な推奨事項があれば、私はそれを感謝します。私はすでにconf.jsとe2e.conf.jsファイルを持っています。私のコードはChromeで完全に正常に動作します。

私はiMacとSelenium Webdriverを使用していると思います。

編集:問題=分度器はphantomjsでは機能しません。私がしたこと=誰かが同様の状況に直面した場合は、異なるWeb要素を使用してグーグルで検索します。また、分度器で機能するヘッドレスブラウザをグーグルで検索し、適切な解決策を見つけることができませんでした。

16
tosh

最善の策は、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/

9
Asta

誰かがここに到達した場合-答えは時代遅れです。 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']
    }
  },

更新-chromeの新しいバージョンはbinaryプロパティを必要としません

私の環境では、新しいバージョンのchromeが安定したブランチで利用可能であるため、binaryプロパティを削除できることがわかりました

私の分度器の構成は

capabilities: {
    'browserName': 'chrome',
    chromeOptions: {
      args: [ '--headless', '--disable-gpu', '--no-sandbox', '--window-size=1920x1200' ]
    },

  },

そして、それは今何週間もスムーズに動作します。強くお勧めします。

更新-カルマでこれを行う方法は非常に簡単です

カルマでヘッドレスchromeを使用するのはとても簡単です:

 browsers: 'ChromeHeadless'

chromeローダーとすべてで動作するはずです。 詳細

13
guy mograbi

ヘッド付きの通常のブラウザーでテストを続けますが、サービスとしてリモートSeleniumサーバーを使用します Sauce Labs または BrowserStack 、以下を参照:

1
alecxe

CodeShip または Drone.ioboth of which Offer Chromeおよび/またはFirefoxがヘッドレスで無料で実行されています。

1
Brine

Chrome 59+がインストールされている場合は、次のフラグを使用してChromeを開始します:

--headless

さらにヘルプが必要な場合はお知らせください。設定を作成します:)お楽しみください

0
Adnan Ghaffar