我目前正在爲Rails應用程序中的郵件系統編寫一個Cucumber功能。這是我的一個步驟。水豚have_field沒有發現字段發現的有選擇器
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)
我撕我的頭髮在這裏明白爲什麼水豚可以找到這個顯然是使用have_selector存在的元素,但不能與have_field?
感謝您指出這一點。我看到這種行爲在Capybara 2.1發行說明中有描述,但是在官方文檔中的任何地方都提到過? –
據我所知,該修復更新了代碼,但沒有更新任何文檔。 –