水豚::鬼驱人:: StatusFailError

时间:2016-10-26 11:19:57

标签: capybara poltergeist

我试图将puffing-billy gem与poltergeist一起使用,我遇到了一些问题。我的capybara_helper.rb包含下一个代码:

Billy.configure do |c|
  c.cache = true
  c.cache_request_headers = false
  c.path_blacklist = []
  c.persist_cache = true
  c.ignore_cache_port = true
  c.non_successful_cache_disabled = false
  c.non_successful_error_level = :warn
  c.non_whitelisted_requests_disabled = false
end

我的测试是:

scenario 'Add new address', driver: :poltergeist_billy do
  proxy.stub("https://maps.googleapis.com/maps/api/js?callback=window.initializeGmaps&key=#{MyApiKeyGoesHere}&libraries=places&language=en").
          and_return(code: 500)
  visit new_address_path

  expect(page).to have_text('Service unavailable')
end

我收到一个错误:

Failure/Error: new_address_path

     Capybara::Poltergeist::StatusFailError:
       Request to 'http://127.0.0.1:33173/addresses/new' failed to reach server, check DNS and/or server status - Timed out with the following resources still waiting https://maps.googleapis.com/maps/api/js?callback=window.initializeGmaps&key=#{MyApiKeyGoesHere}-qk&libraries=places

如果要将驱动程序更改为selenium_billy,则错误将为:

Failure/Error: example.run
  Net::ReadTimeout:
    Net::ReadTimeout

谢谢!

1 个答案:

答案 0 :(得分:0)

它所挂起的资源网址与您在puffing-billy中存根的网址完全匹配 - 您可能希望使用正则表达式存根,以确保所有对地图的请求获取存根。

 proxy.stub(%r{^https://maps.googleapis.com/maps}).and_return(code: 500)