मेरे परीक्षण में मेरे पास एक कदम है जहां मैं एक फ़ील्ड भरता हूं और एंटर दबाता हूं। यह फ़ील्ड फिर अगले पृष्ठ पर एक परिणाम सेट देता है।क्या कैपिबरा में नींद का उपयोग करने का कोई बेहतर विकल्प है?
यहाँ मेरी सहायक विधि है:
def search(term)
fill_in('query-text', :with => term)
click_button('search-button')
end
उसके बाद मैं एक कदम है कि बस का कहना है:
page.should have_content(tutor)
हालांकि, मुद्दा है कि भले ही साथ अपने पृष्ठ लोड के बाद पेज परिणाम, इसके बाद चरण गुजरता है भले ही यह गलत हो। मैंने चरण में एक डीबगर सेट किया है और जब मैं इसे मैन्युअल रूप से जांचता हूं, तो दावा विफल रहता है क्योंकि मैं भी इसकी अपेक्षा करता हूं। मेरी धारणा यह है कि अगला चरण पृष्ठ से पहले भी पुनः लोड हो रहा है। मैं इसे की तरह लग रहे बनाने के लिए मेरे खोज विधि के अंत में एक नींद रखा:
def search(term)
fill_in('query-text', :with => term)
click_button('search-button')
sleep 5
end
लेकिन मुझे लगता है कि नींद का उपयोग कर इस समस्या को हल करने के लिए एक hacky तरीका है। मैं Capybara 2 का उपयोग कर रहा हूँ तो wait_until का उपयोग हटा दिया गया है। क्या नींद पर भरोसा करने के बजाय इस मुद्दे को संभालने का कोई बेहतर तरीका है?
पहला लिंक स्पष्ट रूप से बताता है कि 'सिंक्रनाइज़' के पास 'wait_until' की तुलना में बहुत अलग उपयोग है। – asymmetric