我想继续使用同一个会话,我指的是 Rails 在Test::Unit
使用 Capybara 的各种集成测试之间的会话。该Capybara::Session
对象在所有测试中都是相同的,因为它被重复使用,但是当我在另一个测试中访问另一个页面时,我会立即注销。
深入研究我发现capybara_session.driver.browser.manage.all_cookies
在一个测试和下一个测试之间清除了。
有什么想法吗?或者为什么?或如何避免?
为了解决这个问题,我将 cookie 保存在一个类变量中,稍后通过运行重新添加:
capybara_session.driver.browser.manage.add_cookie(@@cookie)
它似乎工作,cookie在那里,但是当有一个请求时,cookie被另一个替换,所以它没有效果。
有没有其他方法可以实现这一目标?