3

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
4

1 に答える 1