2
我正在用黄瓜/水豚进行一些测试。我有一种情况,用户转到主页,填写他/她的用户名和密码,然后单击“Enter”。这应该登录用户。当使用默认的Capybara驱动程序rack_test时,这将起作用:用户登录并移动到其他页面。使用Selenium驱动程序时,这根本不起作用。用户提交他/她的用户名和密码,但没有登录。水豚司机Selenium没有认证用户,而机架测试做得很好
我说的是同样的测试。唯一改变的是水豚司机。我也认为知道我使用Authlogic作为我的认证逻辑很重要。
你能帮我吗?谢谢!
这是我的水豚配置文件(support/env.rb
):
require 'cucumber/rails'
require 'capybara/session'
require 'capybara/dsl'
Capybara.default_selector = :css
Capybara.run_server = false
ActionController::Base.allow_rescue = false
Capybara.javascript_driver = :selenium
Capybara.server_port = 3000
Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do
Cucumber::Rails::World.use_transactional_fixtures = false
Capybara.reset_sessions!
DatabaseCleaner.strategy = :truncation, {:except => %w[widgets]}
DatabaseCleaner.start
activate_authlogic
Authlogic::Session::Base.controller = Authlogic::ControllerAdapters::RailsAdapter.new(self)
end
After('@no-txn,@selenium,@culerity,@celerity,@javascript') do
DatabaseCleaner.clean
end
Before('[email protected]', '[email protected]', '[email protected]', '[email protected]', '[email protected]') do
DatabaseCleaner.strategy = :transaction
end