【发布时间】:2018-05-19 10:27:09
【问题描述】:
我有一个带有 capybara 2.13 功能规格的 rail 5 应用程序。一个规范完成了一个由三部分组成的事务流程,其中包括一个重定向 url 到应用程序中的回调路径。我将会话中的事务 ID 保存为session[:current_transaction_id],然后在处理回调时使用它来查找事务。这在开发中运行良好,但是在使用 capybara 进行测试时,session 散列丢失了:current_transaction_id。
我没有成功尝试按照中所述包装我的规范 https://github.com/teamcapybara/capybara#using-sessions
Capybara.using_session("User session") do
# log in and complete a transaction
end
如何让会话通过给定的规范持续存在?
【问题讨论】:
-
Capybaras
using_session不是指您要询问的session。它指的是 Capybara 使用的浏览器或浏览器/应用程序对实例,如果您需要在测试应用程序时同时将两个不同的用户登录到应用程序(聊天、实时状态更新等),通常会使用它。您是否使用基于 cookie 的会话?如果是这样,您确定最初访问的(子)域(您设置事务 id 的位置)和重定向到的域是相同的(至少到会话 cookie 设置的级别)?如果不解决这个问题,如果他们向您的问题添加测试代码。 -
这是一个域问题!谢谢!
-
不客气,添加为答案,以便您可以将问题标记为已完成。