【发布时间】:2012-09-18 07:30:37
【问题描述】:
我想继续使用同一个会话,我指的是 Rails 在使用 Capybara 的各种 Test::Unit 集成测试之间的会话。 Capybara::Session 对象在所有测试中都是相同的,因为它被重复使用,但是当我在另一个测试中访问另一个页面时,我会立即注销。
我发现capybara_session.driver.browser.manage.all_cookies在一个测试和下一个测试之间被清除。
有什么想法吗?或者为什么?或者如何避免?
为了解决这个问题,我将 cookie 保存在一个类变量中,然后通过运行重新添加:
capybara_session.driver.browser.manage.add_cookie(@@cookie)
它似乎可以工作,cookie 在那里,但是当有请求时,cookie 会被替换为另一个,所以它没有效果。
还有其他方法可以实现吗?
【问题讨论】:
-
你解决过这个问题吗?我正在打它,并尝试了下面提出的所有解决方案,但无济于事......
标签: ruby-on-rails session cookies capybara