स्वतः-प्रतीक्षा
फलेकी टेस्ट के सबसे सामान्य कारणों में से एक उन तत्वों के साथ सहभागिता है जो उस समय आपके एप्लिकेशन में मौजूद नहीं हैं जब आप इसके साथ इंटरैक्ट करना चाहते हैं। आधुनिक वेब एप्लिकेशन बहुत गतिशील हैं, एलिमेंट दिखाई देते हैं और गायब हो जाते हैं। एक इंसान के रूप में हम अनजाने में एलिमेंट की प्रतीक्षा कर रहे हैं लेकिन एक स्वचालित स्क्रिप्ट में हम इसे एक क्रिया नहीं मानते हैं। किसी एलिमेंट को दिखाने के लिए प्रतीक्षा करने के दो तरीके हैं।
अंतर्निहित बनाम स्पष्ट
वेबड्राइवर प्रोटोकॉल अंतर्निहित टाइमआउट प्रदान करता है जो यह निर्दिष्ट करने की अनुमति देता है कि ड्राइवर को किसी एलिमेंट को दिखाने के लिए कितने समय तक प्रतीक्षा करनी चाहिए। डिफ़ॉल्ट रूप से यह टाइमआउट 0
पर सेट होता है और इसलिए यदि पृष्ठ पर कोई तत्व नहीं पाया जा सकता है तो ड्राइवर तुरंत no such element
त्रुटि के साथ वापस आ जाता है। setTimeout
का उपयोग करके इस टाइमआउट को बढ़ाने से ड्राइवर प्रतीक् षा करेगा और इस बात की संभावना बढ़ जाएगी कि तत्व अंततः दिखाई देगा।
टाइमआउट गाइडमें वेबड्राइवर और फ्रेमवर्क संबंधित टाइमआउट के बारे में और पढ़ें
स्पष्ट प्रतीक्षा का उपयोग करने के लिए एक अलग दृष्टिकोण है जो WebdriverIO फ्रेमवर्क में WaitForExist
जैसे कमांड में बनाया गया है। इस तकनीक के साथ फ़्रेमवर्क कई FindElements
कमांड को कॉल करके एलिमेंट के लिए चुनाव करता है जब तक कि समय समाप्त नहीं हो जाता।