【问题标题】:Capybara selenium chrome get cookies水豚硒铬获取饼干
【发布时间】:2018-04-12 01:16:31
【问题描述】:

我们在 Rails 会话(Rails 5.1.3)中使用:cookie_store,请参阅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 访问浏览器的会话?

【问题讨论】:

    标签: ruby-on-rails selenium capybara


    【解决方案1】:

    您可以通过在测试环境中安装机架中间件来访问应用会话。提供此功能的一个 gem 是 rack_session_access,但是您首先应该问自己为什么要访问会话。功能/系统测试(使用 Capybara)旨在端到端测试应用程序,直接访问会话在这些类型的测试中通常是一种不好的气味。

    【讨论】:

    • 感谢您的回答!我需要访问会话以提供一种方便的方法来检查用户是否已登录,这将在多个测试中使用。当然,如果用户登录,我可以检查一些界面提示,但它们并不总是在那里,唯一可靠的方法是访问用户个人资料。
    猜你喜欢
    • 1970-01-01
    • 2016-12-14
    • 2014-06-20
    • 2015-06-06
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多