Capybara-webkit вызывает Capybara::Driver::Webkit::WebkitInvalidResponseError

Я получил следующее сообщение от драйвера webkit в моем rspec:

Capybara::Driver::Webkit::WebkitInvalidResponseError:
Unable to load URL: http://127.0.0.1:44923/posts

Несколько дней назад это сработало. Проблема с методом save_page. Что может быть не так?


person Sławosz    schedule 17.01.2012    source источник
comment
Вы поняли, что было не так?   -  person Marc-André Lafortune    schedule 23.01.2012
comment
Неа. Он просто снова начал работать.   -  person Sławosz    schedule 24.01.2012
comment
Если это произойдет снова, сработает ли это решение? stackoverflow.com/a/5032285/237958   -  person James    schedule 25.01.2012


Ответы (4)


У меня были подобные сообщения об ошибках, когда моя страница вызывала ошибку. Вы должны вручную проверить, что это не так, запустив сервер в тестовом режиме (rails s -e test) и самостоятельно зайдя на страницу.

person Marc-André Lafortune    schedule 17.01.2012
comment
Я столкнулся с этой проблемой по той же причине. Для отладки вы также можете изменить вызов «посетить foo_path» на «получить foo_path», и тогда вы должны увидеть любое исключение, вызванное страницей, в тестовом выводе. - person Jesse Clark; 10.02.2012
comment
Недавно я сам использовал такой же подход, @Marc-André Lafortune. Хороший совет. Я бы добавил, что вы захотите запустить этот сервер после того, как запустите свою спецификацию, чтобы вам было доступно самое последнее состояние базы данных. - person Tass; 17.02.2012

Проверьте, нет ли в вашем приложении какой-либо другой ошибки, которая может помешать Capybara загрузить страницу. В прошлый раз, когда я его получил, я понял, что была страница с ошибкой 500, и именно поэтому Capybara поднял Capybara::Driver::Webkit::WebkitInvalidResponseError.

person Michał Czapko    schedule 28.06.2012

Попробуйте полностью удалить драгоценный камень thin из набора.

Даже если он только в группе :development или :production!

person Denis Lukyanov    schedule 16.10.2012

В вашем test.rb:

установить config.action_dispatch.show_exceptions = true

и вы увидите исключение, вызвавшее WebkitInvalidResponseError

person doesterr    schedule 14.12.2012