В настоящее время я пишу функцию огурца для системы обмена сообщениями в приложении Rails. Это один из моих шагов.Capybara has_field не находит поле, найденное has_selector
Then(/^they should see the message displayed in their language$/) do
id = "message_to_#{@family.id}"
expect(page).to have_selector("textarea##{id}")
save_and_open_page
expect(page).to have_field(id, type: :textarea)
end
Первое утверждение проходит, но второе не удается. Когда я проверить разметку, созданную save_and_open_page, следующий элемент присутствует:
<textarea cols="22" disabled="disabled" id="message_to_13" name="body" placeholder="Hallo, Ich bin sehr interessiert an deinem Profil. Würdest du gerne mit mir in Kontakt treten?" rows="7"></textarea>
Сообщение об ошибке отображается для второго теста:
expected to find field "message_to_13" but there were no matches. Also found "", which matched the selector but not all filters. (Capybara::ExpectationNotMet)
Я разрываю мои волосы здесь, чтобы понять, почему Capybara может найти этот элемент, который явно присутствует с использованием has_selector, но не с has_field?
Спасибо, что указали это.Я вижу, что это поведение описано в примечаниях к выпуску Capybara 2.1, но упоминается ли оно где-либо в официальных документах? –
Насколько я могу судить, исправление обновило код, но не обновляло ни одну документацию. –