फ्रेमवर्क्स
WebdriverIO Runner में Mocha, Jasmine, और Cucumber.js का बिल्ट-इन समर्थन है। आप इसे तृतीय-पक्ष ओपन-सोर्स फ्रेमवर्क्स, जैसे Serenity/JS के साथ भी एकीकृत कर सकते हैं।
WebdriverIO को टेस्ट फ्रेमवर्क के साथ एकीकृत करने के लिए, आपको NPM पर उपलब्ध एक एडेप्टर पैकेज की आवश्यकता होती है। ध्यान दें कि एडेप्टर पैकेज को वहीं स्थापित किया जाना चाहिए जहां WebdriverIO स्थापित है। इसलिए, अगर आपने WebdriverIO को ग्लोबली स्थापित किया है, तो सुनिश्चित करें कि एडेप्टर पैकेज भी ग्लोबली स्थापित है।
WebdriverIO को टेस्ट फ्रेमवर्क के साथ एकीकृत करने से आप अपने स्पेक फाइल्स या स्टेप डेफिनिशन्स में ग्लोबल browser वेरिएबल का उपयोग करके WebDriver इंस्टेंस तक पहुंच सकते हैं।
ध्यान दें कि WebdriverIO सेलेनियम सत्र को शुरू और समाप्त करने की भी देखभाल करेगा, इसलिए आपको इसे स्वयं करने की आवश्यकता नहीं है।
Mocha का उपयोग
सबसे पहले, NPM से एडेप्टर पैकेज स्थापित करें:
- npm
- Yarn
- pnpm
- Bun
npm install @wdio/mocha-framework --save-dev
yarn add @wdio/mocha-framework --dev
pnpm add @wdio/mocha-framework --save-dev
bun add @wdio/mocha-framework --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"
})