मैं WatiNAjax वेब एप्लिकेशन का परीक्षण करने के लिए परीक्षण कर रहा हूं और अजाक्स अनुरोधों के साथ एक समय समस्या में आया हूं।WATN से पूरा करने के लिए jQuery अजाक्स अनुरोधों का इंतजार कैसे करें?
पृष्ठ पर किसी कार्रवाई द्वारा अजाक्स अनुरोध ट्रिगर करने के बाद, मैं चाहता हूं कि यह सत्यापित करने से पहले अनुरोध पूरा हो जाए कि पृष्ठ सही तरीके से अपडेट किया गया था।
मुझे लगता है कि समाधान eval-इंग शामिल JavaScript ट्रैक करने के लिए है कि क्या अनुरोध कार्य प्रगति पर है $.ajaxStart
और $.ajaxComplete
के लिए संचालकों रजिस्टर करने के लिए होगा। मैं जल्द ही उसमें खोदूँगा, लेकिन देखना चाहता था कि किसी और ने इसे हल कर लिया है या नहीं। ऐसा लगता है कि यह अजाक्स परीक्षण के साथ एक आम समस्या होगी।
यह समाधान तब तक काम करता है जब तक मॉनिटर जावास्क्रिप्ट इंजेक्शन से पहले एक या अधिक AJAX अनुरोध शुरू नहीं होते हैं (जिस बिंदु पर काउंटर अब सटीक नहीं है)। मुझे नहीं पता कि पहले WATN से प्रक्रिया में मॉनिटर इंजेक्ट कैसे करें। यह हो सकता है कि परीक्षण चलाने के दौरान jquery शामिल होने के बाद सही स्थिति में मॉनिटर को सशर्त रूप से शामिल करना सबसे अच्छा शर्त है। –
मैंने अपने एप्लिकेशन के मास्टरपेज में वैश्विक AJAX ईवेंट हैंडलर लगाए हैं। इसके अलावा मैं केवल काउंटर के बजाय एक सेमीफ़ोन बिट रखता हूं: http://lebobitz.wordpress.com/2011/03/06/synchronizing-watin-and-ajax-with-jquery/ –
हालांकि आपके कोड के साथ एक समस्या - अगर वेबसाइट में jQuery समर्थन नहीं है (जैसा कि मेरे मामले में है) - आप पहले "इसे इंजेक्ट करना" चाहते हैं। "मॉनिटर स्क्रिप्ट" से पहले बस इस कोड को जोड़ें। कॉन्स स्ट्रिंग jquerry = @ "var element1 = document.createElement ('script'); element1.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js'; element1.type = 'पाठ/जावास्क्रिप्ट'; document.getElementsByTagName ('सिर') [0] .appendChild (element1); "; ब्राउज़र। औसत (jquerry); @Alex टिप्पणी के संबंध में – Alex