我们在我们的Rails会话中使用:cookie_store
(Rails 5.1.3),请参阅http://api.rubyonrails.org/classes/ActionDispatch/Session/CookieStore.html
在测试中使用Capybara::RackTest::Driver
,我可以使用
page.driver.request.session
page.driver.request.cookies
但是当我使用Capybara::Selenium::Driver
时,我只能访问cookie,而不是会话,例如。
page.driver.browser.manage.all_cookies
有没有办法使用Selenium访问浏览器会话?
答案 0 :(得分:1)
您可以通过在测试环境中安装机架中间件来访问应用会话。提供此功能的一个gem是rack_session_access,但是你应该首先问自己为什么要首先访问会话。功能/系统测试(使用Capybara)用于端到端测试应用程序,直接访问会话在这些类型的测试中通常是难闻的气味。