Vcr: VCRがSelenium(およびCapybara)とうまく機能しない

作成日 2010年03月09日  ·  5コメント  ·  ソース: vcr/vcr

@javascriptでタグ付けされたCucumberにカセットタグを

初めて実行すると、すべてが期待どおりに行われます。カセットが記録され、データが使用され、すべてが通過します。

次に(カセットから)実行すると、未登録の要求で失敗します:GET http:// localhost :9887 / identify

Seleniumは、そのポートを使用してサーバーと通信する必要があるようです(この場合、存在するかどうかを確認するためにpingを実行します)。 VCRがそれをどのように台無しにしているかは正確にはわかりませんが、そうです。

(構成可能または@allow_localhostタグ、あるいはその両方によって)ローカルホスト要求を許可すると便利な場合があります。

最も参考になるコメント

@ clyfe-代わりにc.ignore_localhost = trueオプションを使用することをお勧めします。 これは特にこれを目的としています。

全てのコメント5件

これは、2ed9c3c318305ee39fa054997da1b67c1413a408で解決する必要があります。

バージョン1.11.3でも同じ問題が発生しており、rspecリクエストは:js => true(capybara、selenium)でテストされています。

  • 初めて実行すると、すべてが期待どおりに行われます。カセットが記録され、データが使用され、すべてが通過します。
  • 次に(カセットから)実行すると、未登録のリクエストで失敗します: GET http://localhost:9887/__identify__

状況によってはc.allow_http_connections_when_no_cassette = trueを設定することでこれを乗り越えました。

@ clyfe-代わりにc.ignore_localhost = trueオプションを使用することをお勧めします。 これは特にこれを目的としています。

@myronmarston c.ignore_localhost = trueありがとう、それは私を助けました。 しかし、私はローカルサービスを記録したかった。 それで、最初にそれを録音し、次にカセットのホストを変更しました。

このページは役に立ちましたか?
0 / 5 - 0 評価