फ्रेमवर्क्स
WebdriverIO Runner में Mocha, Jasmine, और Cucumber.js का बिल्ट-इन समर्थन है। आप इसे तृतीय-पक्ष ओपन-सोर्स फ्रेमवर्क्स, जैसे Serenity/JS के साथ भी एकीकृत कर सकते हैं।
WebdriverIO को टेस्ट फ्रेमवर्क के साथ एकीकृत करने के लिए, आपको NPM पर उपलब्ध एक एडेप्टर पैकेज की आवश्यकता होती है। ध्यान दें कि एडेप्टर पैकेज को वहीं स्थापित किया जाना चाहिए जहां WebdriverIO स्थापित है। इसलिए, अगर आपने WebdriverIO को ग्लोबली स्थापित किया है, तो सुनिश्चित करें कि एडेप्टर पैकेज भी ग्लोबली स्थापित है।
WebdriverIO को टेस्ट फ्रेमवर्क के साथ एकीकृत करने से आप अपने स्पेक फाइल्स या स्टेप डेफिनिशन्स में ग्लोबल browser
वेरिएबल का उपयोग करके WebDriver इंस्टेंस तक पहुंच सकते हैं।
ध्यान दें कि WebdriverIO सेलेनियम सत्र को शुरू और समाप्त करने की भी देखभाल करेगा, इसलिए आपको इसे स्वयं करने की आवश्यकता नहीं है।
Mocha का उपयोग
सबसे पहले, NPM से एडेप्टर पैकेज स्थापित करें:
- npm
- Yarn
- pnpm
npm install @wdio/mocha-framework --save-dev
yarn add @wdio/mocha-framework --dev
pnpm add @wdio/mocha-framework --save-dev
डिफ़ॉल्ट रूप से WebdriverIO एक अशूरन लाइब्रेरी प्रदान करता है जो बिल्ट-इन है जिसे आप तुरंत शुरू कर सकते हैं:
describe('my awesome website', () => {
it('should do some assertions', async () => {
await browser.url('https://webdriver.io')
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js | WebdriverIO')
})
})
WebdriverIO Mocha के BDD
(डिफ़ॉल्ट), TDD
, और QUnit
इंटरफेसेस का समर्थन करता है।
यदि आप अपने स्पेक्स को TDD शैली में लिखना चाहते हैं, तो अपने mochaOpts
कॉन्फिग में ui
प्रॉपर्टी को tdd
पर सेट करें। अब आपकी टेस्ट फाइलें इस तरह लिखी जानी चाहिए:
suite('my awesome website', () => {
test('should do some assertions', async () => {
await browser.url('https://webdriver.io')
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js | WebdriverIO')
})
})
यदि आप अन्य Mocha-विशिष्ट सेटिंग्स को परिभाषित करना चाहते हैं, तो आप इसे अपनी कॉन्फिगरेशन फाइल में mochaOpts
कुंजी के साथ कर सकते हैं। सभी विकल्पों की सूची Mocha प्रोजेक्ट वेबसाइट पर पाई जा सकती है।
नोट: WebdriverIO Mocha में done
कॉलबैक्स के पुराने उपयोग का समर्थन नहीं करता ह ै:
it('should test something', (done) => {
done() // throws "done is not a function"
})
Mocha विकल्प
निम्नलिखित विकल्पों को आपके wdio.conf.js
में अपने Mocha वातावरण को कॉन्फिगर करने के लिए लागू किया जा सकता है। नोट: सभी विकल्पों का समर्थन नहीं है, उदाहरण के लिए, parallel
विकल्प लागू करने से एक त्रुटि होगी क्योंकि WDIO टेस्टरनर के पास पैरेलल में टेस्ट चलाने का अपना तरीका है। आप इन फ्रेमवर्क विकल्पों को आर्गुमेंट्स के रूप में पास कर सकते हैं, उदाहरण के लिए:
wdio run wdio.conf.ts --mochaOpts.grep "my test" --mochaOpts.bail --no-mochaOpts.checkLeaks
यह निम्नलिखित Mocha विकल्पों को पास करेगा:
{
grep: ['my-test'],
bail: true
checkLeacks: false
}
निम्नलिखित Mocha विकल्पों का समर्थन किया गया है:
require
require
विकल्प तब उपयोगी होता है जब आप कुछ बुनियादी कार्यक्षमता जोड़ना या बढ़ाना चाहते हैं (WebdriverIO फ्रेमवर्क विकल्प)।
प्रकार: string|string[]
डिफ़ॉल्ट: []
compilers
फाइलों को कंपाइल करने के लिए दिए गए मॉड्यूल(ओं) का उपयोग करें। कंपाइलर्स को आवश्यकताओं से पहले शामिल किया जाएगा (WebdriverIO फ्रेमवर्क विकल्प)।
प्रकार: string[]
डिफ़ॉल्ट: []
allowUncaught
अनकॉट त्रुटियों को प्रोपेगेट करें।
प्रकार: boolean
डिफ़ॉल्ट: false
bail
पहले टेस्ट विफलता के बाद बेल करें।
प्रकार: boolean
डिफ़ॉल्ट: false
checkLeaks
ग्लोबल वेरिएबल लीक्स के लिए जांच करें।
प्रकार: boolean
डिफ़ॉल्ट: false
delay
रूट सूट एक्ज़ीक्यूशन में देरी करें।
प्रकार: boolean
डिफ़ॉल्ट: false
fgrep
दिए गए स्ट्रिंग के टेस्ट फिल्टर।
प्रकार: string
डिफ़ॉल्ट: null
forbidOnly
only
के रूप में मार्क किए गए टेस्ट सूट को विफल करते हैं।
प्रकार: boolean
डिफ़ॉल्ट: false
forbidPending
पेंडिंग टेस्ट सूट को विफल करते हैं।
प्रकार: boolean
डिफ़ॉल्ट: false