VCR gem、chrome ドライバー、webmock を使用して cucumber を実行しようとしていますが、うまくいきません。問題の 1 つは、要求がまったく記録されていないことです。this SO answerignore_localhost
で説明されているように、javascript が原因で必要と思われるVCR が設定されています。
しかし、URL にアクセスするためのステップ リクエスト (たとえばwww.test.com
) が記録されないのはなぜですか? Chrome ブラウザーが読み込まれ、URL にアドレスが表示されるので、キュウリのステップがそこにあることがわかります。
オフignore_localhost
にすると、いくつかの録音が表示されますが、uri はすべて127.0.0.1
. 私が期待する uri は、body: string
の代わりに表示されuri
ます。なぜこうなった?
request:
method: post
uri: http://127.0.0.1:9592/session/87bb12aa8b5b1230399b98bcc7d0ba11/url
body:
encoding: US-ASCII
string: ! '{"url":"http://www.test.com"}'
headers:
Accept:
- application/json
Content-Type:
- application/json; charset=utf-8
Content-Length:
- '46'
User-Agent:
- Ruby
それが役立つ場合、これが私のVCR構成です
VCR.configure do |c|
c.cassette_library_dir = 'features/support/vcr_cassettes'
c.hook_into :webmock
c.ignore_localhost = true
end