असफल हुए टेस्ट को दोबारा चलाना
आप WebdriverIO टेस्टरनर के साथ कुछ विशेष टेस्ट को दोबारा चला सकते हैं जो अस्थिर नेटवर्क या रेस कंडीशन्स जैसे कारणों से अस्थिर हो जाते हैं। (हालांकि, अगर टेस्ट अस्थिर हो जाते हैं तो केवल दोबारा चलाने की दर बढ़ाना अनुशंसित नहीं है!)
Mocha में सुइट्स को दोबारा चलाना
Mocha के वर्जन 3 से, आप पूरे टेस्ट सुइट्स को दोबारा चला सकते हैं (एक describe
ब्लॉक के अंदर का सब कुछ)। अगर आप Mocha का उपयोग करते हैं तो आपको WebdriverIO के कार्यान्वयन के बजाय इस रीट्राई मैकेनिज्म का उपयोग करना चाहिए जो आपको केवल कुछ टेस्ट ब्लॉक्स को दोबारा चलाने की अनुमति देता है (एक it
ब्लॉक के अंद र का सब कुछ)। this.retries()
मेथड का उपयोग करने के लिए, सुइट ब्लॉक describe
में अनबाउंड फंक्शन function(){}
का उपयोग करना चाहिए, न कि फैट एरो फंक्शन () => {}
का, जैसा कि Mocha docs में वर्णित है। Mocha का उपयोग करके आप अपने wdio.conf.js
में mochaOpts.retries
का उपयोग करके सभी स्पेक्स के लिए रीट्राई काउंट भी सेट कर सकते हैं।
यहां एक उदाहरण है:
describe('retries', function () {
// Retry all tests in this suite up to 4 times
this.retries(4)
beforeEach(async () => {
await browser.url('http://www.yahoo.com')
})
it('should succeed on the 3rd try', async function () {
// Specify this test to only retry up to 2 times
this.retries(2)
console.log('run')
await expect($('.foo')).toBeDisplayed()
})
})