2

統合テスト用に Backbone と Capybara を使用した Rails プロジェクトがあります。

私が実行save_and_open_pageしているテストでは、有効な Javascript を使用してブラウザーでページを正常に開きます。

しかし、私が走っているときputs page.body(直後save_and_open_page)、それは私に与えます

//skipped

<div id="main">
  Loading...
</div>

</body></html>

そして、いいえhave_contentおよび他のセレクターが機能します。

有効なページを保存して開くが、ページの本文が間違っている可能性はありますか?

修正方法は?

4

2 に答える 2

3

Capybara のデフォルトのドライバーは Rack::Test です。あなたのページにはおそらく javacript が必要です。これは、Capybara のデフォルト ドライバーがすべてを正しくレンダリングしていないことを意味します。設定するだけですCapybara.default_driver = :selenium。これにより、JavaScript が正しく実行されます。

テスト スイート全体ではなく、1 つのテストケースのみのドライバーを変更する方法を説明しているリンクも参照してください。セレンをドライバーとして使用する場合、この方法save_and_open_pageはおそらく機能しないことに注意してください。

于 2013-07-15T20:14:00.627 に答える
0

spec_helper.rb行に追加する必要がありました

require 'capybara/rspec'

デフォルトのブラウザ ドライバを使用する

于 2013-07-12T18:26:11.120 に答える