समय समाप्त
WebdriverIO में प्रत्येक कमांड एक अतुल्यकालिक ऑपरेशन है। सेलेनियम सर्वर (या क्लाउड सेवा जैसे सॉस लैब्स) के लिए एक अनुरोध निकाल दिया गया है, और इसकी प् रतिक्रिया में कार्रवाई पूर्ण या विफल होने के बाद परिणाम होता है।
इसलिए, संपूर्ण परीक्षण प्रक्रिया में समय एक महत्वपूर्ण घटक है। जब एक निश्चित कार्रवाई एक अलग कार्रवाई की स्थिति पर निर्भर करती है, तो आपको यह सुनिश्चित करने की ज़रूरत है कि वे सही क्रम में निष्पादित हों। इन मुद्दों से निपटने के दौरान टाइमआउट एक महत्वपूर्ण भूमिका निभाते हैं।
सेलेनियम टाइमआउट
सत्र स्क्रिप्ट टाइमआउट
एक सत्र में एक संबद्ध सत्र स्क्रिप्ट टाइमआउट होता है जो एसिंक्रोनस स्क्रिप्ट के चलने के लिए प्रतीक्षा करने का समय निर्दिष्ट करता है। जब तक अन्यथा न कहा जाए, यह 30 सेकंड है। आप इस टाइमआउट को इस प्रकार सेट कर सकते हैं:
await browser.setTimeout({ 'script': 60000 })
await browser.executeAsync((done) => {
console.log('this should not fail')
setTimeout(done, 59000)
})
सत्र पृष्ठ लोड टाइमआउट
एक सत्र में एक संबद्ध सत्र पृष्ठ लोड टाइमआउट होता है जो पृष्ठ लोड होने के पूर्ण होने तक प्रतीक्षा करने का समय निर्दिष्ट करता है। जब तक अन्यथा न कहा जाए, यह 300,000 मिलीसेकंड है।
आप इस टाइमआउट को इस प्रकार सेट कर सकते हैं:
await browser.setTimeout({ 'pageLoad': 10000 })
pageLoad
कीवर्ड आधिकारिक वेबड्राइवर विनिर्देशका एक हिस्सा है, लेकिन आपके ब्राउज़र के लिए समर्थित नहीं हो सकता है (पिछला नामpage load
है)।