ruby on rails - Cucumber: Wait for ajax:success -
मेरे पास Rails 3.1 प्रोजेक्ट में निम्नलिखित विशिष्ट ककड़ी चरण हैं:
... जब मैं "गाड़ी से निकालें" का पालन करता हूं तो मुझे "कार्ट से हटाए गए टेस्ट उत्पाद" देखना चाहिए कठिनाई यह है कि "कार्ट से निकालें" बटन एक एजेक्स है: दूरस्थ कॉल, जो " गाड़ से "टेस्ट उत्पाद को हटा दिया गया" #cart_notice तत्व द्वारा:
$ ('# cart_notice')। अनुलग्नक ("& lt;% = @ product.name% & gt; कार्ट से हटा दिया गया है") ; यह फ़ंक्शन ब्राउज़र में ठीक काम करता है, लेकिन ककड़ी में "कार्ट से निकाल दिया गया टेस्ट उत्पाद" पाठ नहीं मिलता है मैं यह अनुमान लगा रहा हूं क्योंकि AJAX रिटर्न देने से पहले काकड़ी पाठ की खोज कर रहा है?
तो, मैं कैसे यह सुनिश्चित करूँगा कि काकडी एजेक्स के लिए इंतजार कर रहा है जिसके परिणामस्वरूप खोज करने से पहले परिणाम लौटाया जाए वांछित सामग्री?
जो डेक्सटर ने कहा था जोड़ने के लिए, आप एक ऐसा कदम लिखना चाह सकते हैं जो JS को कार्यान्वित करता है ब्राउज़र जो एजेक्स अनुरोधों को समाप्त करने के लिए प्रतीक्षा करता है JQuery के साथ, मैं इस चरण का उपयोग करता हूं:
जब / ^ मैं $ / do start_time = समय समाप्त करने के लिए अजाक्स अनुरोध के लिए प्रतीक्षा करता हूँ। पृष्ठ। Avaluate_script ('jQuery.isReady & amp; amp; jQuery सक्रिय == 0 ')। Class.should_not eql (स्ट्रिंग) तक page.evaluate_script (' jQuery.isReady & amp; amp; jQuery.active == 0 ') या (start_time + 5.seconds) & lt; समय। अब स्लीप 1 एंड एंड आप आवश्यकतानुसार चरण या प्रत्येक जावा स्क्रिप्ट के बाद शामिल कर सकते हैं:
AfterStep ('@ javascript' ) शुरू करते हैं जब मैं 'एजेक्स अनुरोध समाप्त होने के लिए इंतजार करता हूं' बचाव के अंत का अंत मुझे स्वत: सिंक्रनाइज़ेशन के साथ समस्याएं थीं, और इससे इसे साफ़ किया गया
Comments
Post a Comment