Capybara-webkit пытается открыть example.com

Я использую capybara, capybara-webkit, capybara-скриншот вместе с огурцом. (Ruby 1.9.3, Rails 3.1.3) и Capybara.javascript_driver = :webkit также установлен env.rb

к сожалению, запуск спецификации огурца с @javascript никогда не удастся по какой-то причине, и скриншоты ошибок просто захватить example.com.

URL, который я фактически пытаюсь открыть, генерируется с результатом маршрутизатора rails для одной из моих моделей, например, с visit products_url

Итак, как я могу избежать того, что он заканчивается запросы example.com?

любой вклад приветствуется.


только потому, что комментарий перепутан - вот что я нашел, было решение:

Capybara.run_server = true
Capybara.server_port = 7787
Before '@javascript' do
  Capybara.app_host = "http://127.0.0.1:#{Capybara.server_port}"
end

3 ответов


попробуйте использовать . Они не рекомендуют использовать абсолютные URL-адреса в разделе "Gotchas"README.


для меня было много кроссовок "gotcha" (и я использовал капибару с Rspec). Первоначально в спецификации у меня было:

visit "foos/5"

он работает с Rack::Test но когда я хотел переключиться на webkit драйвер для тестирования взаимодействий js, я получил это исключение (не удалось загрузить URL: file:///products (Capybara::Driver::Webkit::WebkitInvalidResponseError)).

что мне нужно было сделать, так это изменить путь, который я прошел, чтобы посетить, вот так:

visit "/foos/5"

Succes!!


вот еще один потенциальный попался, написал для других, которые могут иметь эту проблему. Я тестировал кэширование действий, и ключевые рельсы генерируют выглядит как "views/www.пример.com / продукты". Это происходит, даже если вы используете products_path в качестве url. Это может привести к необходимости установить имя сервера, чтобы вы могли заранее знать, какой ключ кэша ожидать.