gpt4 book ai didi

ruby-on-rails - authlogic 在使用 selenium 驱动程序时无法与 capybara 一起工作

转载 作者:行者123 更新时间:2023-12-04 06:26:04 24 4
gpt4 key购买 nike

我的所有 capybara 测试都使用默认驱动程序与我的 authlogic 成员区域一起工作,但是当我将一个测试更改为使用 selenium 驱动程序时,因为其中包含 ajax,它给出了我的 theis 错误:

You must activate the Authlogic::Session::Base.controller with a controller object before creating objects

事情正在使用 authlogic 的默认驱动程序,所以一定与 Selenium 有关??

我在我的 spec_helper 中包含了 Authlogic::TestCase 和
activate_authlogic
domain.user_sessions.create(user)

在每个之前。

有人帮我解决这个问题吗?

谢谢 rake

最佳答案

我在这里发布了一个 cucumber 解决方案:Log-in through authlogic without having to fill in form every time

对于 RSpec 集成测试,它是类似的。

在您的 spec_helper.rb :

require "authlogic/test_case"
RSpec.configure do |config|
...
config.include Authlogic::TestCase
ApplicationController.skip_before_filter :activate_authlogic
config.before(:each, :type => :request) do
activate_authlogic
UserSession.create(User.find_by_email!(email))
end
...
end

显然,如果您的站点不是仅登录,则您可能希望将 config.before 中的两行移动到登录规范的特定测试中的 before 块中。如果您保持原样,您可以使用 UserSession.find.destroy 删除 session 或者显然遵循注销链接(如果这在您的规范中更有意义)。

关于ruby-on-rails - authlogic 在使用 selenium 驱动程序时无法与 capybara 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6942555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com