Я провожу несколько тестов с огурцом / капибарой. У меня есть один сценарий, когда пользователь заходит на домашнюю страницу, заполняет его / ее имя пользователя и пароль и нажимает «Enter». Это должно войти в систему пользователя. При использовании драйвера Capybara по умолчанию, rack_test, это работает: пользователь входит в систему и перемещается на другую страницу. При использовании драйвера Selenium это не работает вообще. Пользователь указывает свое имя пользователя и пароль, но не входит в систему.
Я говорю о том же тесте. Единственное, что меняется, это драйвер Капибара. Я также думаю, что важно знать, что я использую Authlogic для своей логики аутентификации.
Можете ли вы помочь мне с этим? Спасибо!
Это мой конфигурационный файл Capybara (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('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
DatabaseCleaner.strategy = :transaction
end