@IvanN777

При использовании fill_in Capybara не заполняется поле, что нетак?

Для изучения интеграционных тестов стал использовать этот камень.
Подключил его, но при заполнение формы пользователя не происходит прохождение теста.

visit  new_user_path
fill_in 'Email', :with => 'user@example.com'
click_button 'New user'
expect(page).to have_content 'Success'


Для того чтобы исключить ошибки, обязательным полем в модели стал использовать только email.
Потом я решил сделать форму пользователя, где email заполнено по умолчанию и удалил fill_in
visit  new_user_path
click_button 'New user'
expect(page).to have_content 'Success'

Все отлично прошло, из сего сделал вывод, что проблема с ним.
Label c 'Email' существует, пробовал использовать идентификатор по id, но тщетно
Потом немного более корявый подход( ну мне так показалось)
find('#user_email').set('user@example.com')
Тест все равно отказывается проходить.

Решил использовать камень launchy
И поставил вот так
visit  new_user_path
click_button 'New user'
save_and_open_page
expect(page).to have_content 'Success'

Ожидал получить отладочную информацию в браузере(там экран моей формы), но не получил ничего.
Возможно не в браузере должна выводиться отладка.
Я понял, что fill_in не отрабатывает и до этого.
Что нужно прописать в конфиге Свинки, чтобы она заполняла поля?
  • Вопрос задан
  • 178 просмотров
Решения вопроса 1
premas
@premas
Full-stack web-developer
Привязывайтесь к айдишникам.

Например в случае с девайсом:
fill_in 'user_email', :with => 'user@example.com'
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@IvanN777 Автор вопроса
Моя проблема была в очистке тестовой бд, не пропускало одинаковые email ) сори
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы