Я пытаюсь запустить тесты моего приложения на огурец над капибарой с драйвером селена.В тестовых шагах я динамически создаю пользователей для входа в приложение.Но пользователь не может войти в систему с пользователем, которого создал.Я установил для user_transactional_fixture значение false.Тем не менее созданные записи недоступны для приложения selenium.
Вот код
Файл функций
@ browser Сценарий: только администратор может иметь доступ к страницам администратора "admin@example.com "является администратором Когда я вошел в систему как файл определения шага" admin@example.com "
учитывая /" ([^ \ "] *)" является администратором / do | электронная почта|
user = Email.active.find_by_address (email) .try (: user) || User.new ({},: password =>
'Monkey_123',: password_confirmation =>'Monkey_123',: last_name => 'example',: first_name => 'admin')
user.update_attribute (: state, "active")
user.update_attribute (: terms_and_conditions_accepted,1)
user.groups << Group.find (1) </p>
user.primary_email || = Email.new (: address => email,: state => Email :: State:: ACTIVE,
: email_type => Email :: Type :: PRIMARY)
user.save!
, когда я запускаю тесты с использованием capybara и selenium driveri, я не могувойдите в мое приложение, используя
созданный пользователь через браузер.
Я попытался использовать отладчик ruby, который показал создание конкретного пользователя.
Ниже приведена моя конфигурация в файле env.rb
, если она определена? (ActiveRecord:: База)
начало
require 'database_cleaner'
DatabaseCleaner.strategy = :truncation
rescue LoadError => ignore_if_database_cleaner_not_present
конец
конец
Capybara.server_port = 9887 # Или какой номер вы хотите?
Capybara.app_host = "http://localhost: # {Capybara.server_port}"
Capybara.default_wait_time = 4
Capybara.ignore_hidden_elements = false
Before ('@ browser') do Capybara.current_driver =: конец селена
Пожалуйста, предложите решение для этого.Версии драгоценных камней: 1) огурец -v 0.10.7
2) огурцы-рельсы 0.3.2
3) капибара 0.4.1.2
4) database_cleaner 0.5.0
Спасибо