【发布时间】:2016-07-02 19:26:03
【问题描述】:
我有以下测试:
def login_user(email, password)
visit new_user_session_path
fill_in 'E-mail', with: email
fill_in 'Password', with: password
click_button 'go'
end
scenario 'some test' do
order = Fabricate(:order_one, company: user.company)
visit "http://127.0.0.1:49645/orders/#{order.id}" # change to visit "/orders/#{order.id}"
login_user(user.email, user.password)
#assert
end
发生的情况是,在第一步 (visit...) 中,用户没有被登录,所以我使用 cookie 设置了一些信息。但是,当login_user被执行时,这个cookie是空的。
使用 selenium-webdriver
这里有什么想法吗?
提前致谢
【问题讨论】:
-
设置 cookie 是特定于驱动程序的。你用的是什么capybara驱动,能贴出
login_user的代码吗? -
也许还利用show-me-the-cookies gem 来确保您在
login_user方法中确实正确设置了cookie。 -
@BoraMa 用更多信息更新问题。
-
@BoraMa 我调试了我的控制器代码(当我设置 cookie 时),看起来还可以
-
在我执行
login_user的那一刻,cookie 消失了..
标签: ruby-on-rails cookies capybara