டைம்அவுட்கள்
ஒவ்வொரு WebdriverIO கட்டளையும் ஒரு அசைங்கரோனஸ் செயல்பாடாகும். செலினியம் சேவையகத்திற்கு (அல்லது Sauce Labs போன்ற கிளவுட் சேவைக்கு) ஒரு கோரிக்கை அனுப்பப்படுகிறது, மற்றும் அதன் பதில் செயல் முடிந்ததும் அல்லது தோல்வியடைந்ததும் முடிவைக் கொண்டிருக்கும்.
எனவே, நேரம் முழு சோதனை செயல்முறையிலும் ஒரு முக்கியமான கூறாகும். ஒரு குறிப்பிட்ட செயல் வேறொரு செயலின் நிலையைச் சார்ந்திருக்கும்போது, அவை சரியான வரிசையில் செயல்படுத்தப்படுகின்றன என்பதை உறுதிசெய்ய வேண்டும். இந்த சிக்கல்களைக் கையாளும்போது டைம்அவுட்கள் ஒரு முக்கிய பங்கு வகிக்கின்றன.
WebDriver டைம்அவுட்கள்
அமர்வு ஸ்கிரிப்ட் டைம்அவுட்
ஒரு அமர்வானது அசைங்கரோனஸ் ஸ்கிரிப்ட்கள் இயங்க காத்திருக்க வேண்டிய நேரத்தைக் குறிப்பிடும் அமர்வு ஸ்கிரிப்ட் டைம்அவுட்டைக் கொண்டுள்ளது. வேறு விதமாகக் குறிப்பிடப்படாவிட்டால், இது 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கீவோர்டு அதிகாரப்பூர்வ WebDriver விவரக்குறிப்பின் ஒரு பகுதியாகும், ஆனால் உங்கள் உலாவியால் ஆதரிக்கப்படாமல் இருக்கலாம் (முந்தைய பெயர்page load).
அமர்வு மறைமுக காத்திருப்பு டைம்அவுட்
ஒரு அமர்வானது தொடர்புடைய அமர்வு மறைமுக காத்திருப்பு டைம்அவுட்டைக் கொண்டுள்ளது. இது findElement அல்லது findElements கட்டளைகளைப் ($ அல்லது $$, முறையே, WebdriverIO-ஐ WDIO டெஸ்ட்ரன்னருடன் அல்லது இல்லாமல் இயக்கும்போது) பயன்படுத்தி உறுப்புகளைக் கண்ட றியும் போது மறைமுக உறுப்பு இருப்பிட உத்திக்காகக் காத்திருக்க வேண்டிய நேரத்தைக் குறிப்பிடுகிறது. வேறு விதமாகக் குறிப்பிடப்படாவிட்டால், இது 0 மில்லிவினாடிகள்.
இந்த டைம்அவுட்டை இவ்வாறு அமைக்கலாம்:
await browser.setTimeout({ 'implicit': 5000 })