मैं एक उचित लेबल है कि मैं एक समस्या के बिना capybara साथ भर सकते हैं के साथ एक क्षेत्र है।मैं कैसे जांच सकता हूं कि कैपिबारा का उपयोग करके एक फॉर्म फ़ील्ड सही ढंग से प्रीफ़िल किया गया है?</p> <pre><code>fill_in 'Your name', with: 'John' </code></pre> <p>मैं इसे भरने से पहले मूल्य यह है की जाँच करना चाहते हैं और यह समझ नहीं कर सकते हैं:
अगर मैं fill_in
के बाद निम्न पंक्ति जोड़ें:,
find_field('Your name').should have_content('John')
कि परीक्षण में विफल रहता है, हालांकि भरने से ठीक पहले काम किया के रूप में मैं पेज को सहेज कर सत्यापित किया है।
मुझे क्या याद आ रही है?
expect(page).to have_xpath("//input[@value='John']")
अधिक जानकारी के लिए http://www.w3schools.com/xpath/xpath_syntax.asp देखें:
आह, मुझे 'value' बिट याद आ रहा था। धन्यवाद! –
मुझे एक ही समस्या थी, लेकिन एक फार्म फ़ील्ड के बजाय एक div के साथ। किसी और को एक ही समस्या होने के लिए, find_by_id()। Text_field() मान के बजाय टेक्स्ट का उपयोग करें। यह मुझे लगता है कि यह मान केवल * फ़ील्ड पर काम करता है ... –
बाद के तरीके में समस्या यह है कि यह कैपिबरा के मतदान चक्र का उपयोग नहीं करता है और इसलिए अगर फील्ड लंबे समय से चलने वाले जेएस कोड द्वारा सेट किया गया है तो तत्काल विफल हो जाएगा। पहला तरीका तब तक प्राथमिकता देना है जब तक कि आप इसे स्थिर रूप से जेनरेट किए गए फॉर्म पर नहीं आते। – fqxp