2017-02-21 8 views
2

私のレールアプリケーションのテストケースを書きたいと思います。私はすでに、Rails組み込みフレームワークMinitestに多くのテストケースを書いています。 私のWebアプリケーションのjavascript機能をテストしたいと思います。 は、私はこれらの2つのツールcapybara-webkitとselenium-webdriverの比較

1に出くわした:セレンウェブドライバ

2:カピバラ-webkitの

私はを使用するかを混乱しています。私はセレンのWebドライバはブラウザを開きながら、ヘッドレスがある

  1. カピバラのWebKitのようにこれら2つのツールのいくつかの長所と短所を知っています。
  2. カピバラはセレンよりも速いです。
  3. カピバラセレンは、Facebookなどのサードパーティ製のアプリと対話することができますが、他のアプリケーションを開くことができないとLinkedInの

は、誰も私のテストのためにこれらの2つのツールの比較を伝えることはできますか?

答えて

5

ここではいくつか混乱しています。 Capybaraは、テストランナーフレームワーク(RSpec、Minitestなど)のいずれかで使用できるRuby用のテストフレームワーク/ DSLです。それはテストされているWebアプリケーションと通信するために、いくつかの異なるドライバを使用することができます。

デフォルトのドライバは、JSをサポートしていないrack_testで、テスト対象のアプリケーション外のアドレスには接続できません。

第2のドライバオプションは、複数の異なる実ブラウザであるfirefox/chrome/safari/etcを制御できるselenium-webdriverです。任意の有効なURLに接続することができます。ドライバとしてselenium-webdriverを使用することの欠点は、実際のブラウザを開き、通常はメモリフットプリントが大きいほど遅くなることです。

もう1つのドライバオプションはcapybara-webkitです。ヘッドレスで、有効なURLにも接続できます。これは、セレニウムを使用するよりも一般的に高速ですが、新しいWeb標準(ES2015など)をサポートしていない旧バージョンのQtWebkit上に構築されているため、すべてのJSをES5最大限に変換する必要があります。

ほとんどのテストでスピードの恩恵を受けるために、さまざまなテストで異なるドライバを使用することを止め、WebRTCなどが必要なテストでは実際のブラウザを使用することは何もありません.Capybara READMEでは、異なるテストランナー(RSpec、Minitestなど)を使用して

関連する問題