Найти и заполнить поле ввода по атрибуту данных
Я хочу найти элементы с помощью "тестового" атрибута данных и заполнить их следующим образом:
When(/^I sign in with valid credentials$/) do
email = page.find("data-test='email'")
password = page.find("data-test='password'")
fill_in email, with: @user.email
fill_in password, with: @user.password
submit = page.find("[data-test='submit']")
submit.click
end
Кнопка работает нормально, но на входах выдается следующая ошибка:
Unable to find field #<Capybara::Element tag="input"> (Capybara::ElementNotFound)
Есть ли способ сделать это в капибаре? Заранее спасибо за помощь.
1 ответ
Решение
fill_in
Метод принимает идентификатор элемента, имя или текст метки, поэтому он может не работать с результатом, который возвращает метод find. В вашем случае попробуйте set
метод:
find("input[data-test='email']").set(@user.email)