水豚硒 chrome 获取 cookie

Capybara selenium chrome get cookies

我们在 Rails 会话中使用 :cookie_store (Rails 5.1.3),参见 http://api.rubyonrails.org/classes/ActionDispatch/Session/CookieStore.html

在测试中使用Capybara::RackTest::Driver,我可以使用

获取当前会话和cookie
page.driver.request.session
page.driver.request.cookies

但是当我使用 Capybara::Selenium::Driver 时,我只能访问 cookie,而不能访问会话,例如

page.driver.browser.manage.all_cookies

有没有办法使用 Selenium 访问浏览器的会话?

您可以通过在测试环境中安装机架中间件来访问应用程序会话。提供此功能的 gem 是 rack_session_access,但是您首先应该问问自己为什么要访问该会话。 Feature/System 测试(使用 Capybara 的地方)旨在测试应用程序 end-to-end 并且在这些类型的测试中直接访问会话通常是一种难闻的气味。