огурец не уважает куки, установленные сервером - PullRequest
1 голос
/ 24 августа 2011

Я работаю над переносом большого набора функций огурца из Webrat в Capybara, и у меня возникло немало проблем.Основная (и наиболее болезненная) проблема связана с файлами cookie.

Первая проблема заключалась в том, «как установить файлы cookie», поскольку существуют различные функции, которые устанавливают файлы cookie (некоторые для входа в систему, некоторые для настройки кодов рефералов и т. Д.).Мы решили эту проблему, позаимствовав некоторый код из покажи мне куки gem.

Следующая проблема заключается в том, что иногда сервер удаляет куки, но мы обнаружили, что огурец (илиответственен ли Capybara за это?) не сбрасывает файлы cookie на то, что было возвращено сервером при последующих запросах.

Сначала я подумал, что могу взломать это, выполнив AfterStep, который очистил файлы cookie иустановите их на то, что было возвращено сервером в заголовках «Set-Cookie».

К сожалению, это не сработает при работе с перенаправлением, потому что Cucumber / Capybara следует перенаправлению перед вызовом моего AfterStep,таким образом вызывая сбой функций.

Это было довольно сложно, и любая помощь будет принята с благодарностью.Вот некоторая соответствующая информация об окружающей среде:

gem 'rails', '2.3.10'
gem 'cucumber', '0.10.7'
gem 'cucumber-rails', '0.3.2'
gem 'capybara', '0.4.1.2'
...