Capybara (RSpec) の System Spec にて Selenium + Chrome を使っている際に Cookies の内容をチェックする方法の一つ

結論

page.driver.browser.manage.all_cookies

注意点

page.driver.browser.manage.all_cookiesArray オブジェクトであり、各要素は以下のような key-value を含むハッシュです

{:name=>"foo", :value=>"bar", :path=>"/", :domain=>"127.0.0.1", :expires=>Wed, 02 Mar 2022 10:20:45 +0000, :secure=>false}]

上記より、あるクッキーの「値」が期待どおりであるかどうかを確認するためには、たとえば以下のように書けます

[:value] の部分を変更すれば、「値」以外のプロパティについてもチェックすることができます。

all_cookies = page.driver.browser.manage.all_cookies

expect(all_cookies.find { |c| c[:name] == "foo" }[:value]).to eq "bar"
Powered by はてなブログ