【问题标题】:How to access cookies and session in Capybara 2.4.1如何在 Capybara 2.4.1 中访问 c​​ookie 和 session
【发布时间】:2014-09-27 12:42:32
【问题描述】:

我正在使用带有以下 gem 的 rails 4:

  • guard-rspec (4.3.1)
  • rspec (3.0.0)
  • rspec-core (3.0.3)
  • rspec 期望 (3.0.3)
  • rspec 模拟 (3.0.3)
  • rspec-rails (3.0.2)
  • rspec 支持 (3.0.3)
  • 水豚 (2.4.1)
  • capybara-webkit (1.1.0)

Capybara 在正常场景/示例中按预期工作,但是当我想要访问 cookie 或会话时,我得到一个 NameError:

undefined local variable or method `session'

我有一个正在使用的自定义类,它存储 cookie 数据并检索它以记住有关用户的内容,然后在屏幕上显示某些内容。

但我似乎无法通过测试,也无法查看 cookie 或会话。

它需要被嘲笑吗?我该怎么做?

【问题讨论】:

  • 内森,你想明白了吗?我有一个依赖会话数据的复杂表单,如果不先弄清楚如何让 capybara 玩得更好,我就无法测试任何功能。
  • 你试过了吗:Capybara.current_session.driver.request.cookies

标签: ruby-on-rails cookies rspec capybara


【解决方案1】:

Capybara.current_session.driver.request.session 在 2.17.0 中工作。我假设自 2.4 以来没有太大变化。

【讨论】:

    【解决方案2】:

    Webkit 像这样公开 cookie:

    page.driver.browser.manage.all_cookies
    

    参考这里:https://github.com/thoughtbot/capybara-webkit/issues/168

    【讨论】:

      猜你喜欢
      • 2015-01-26
      • 2012-06-13
      • 2010-09-11
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多