टाइपस्क्रिप्ट सेटअप
आप TypeScript का उपयोग करके टेस्ट लिख सकते हैं, जिससे आपको ऑटो-कंप्लीशन और टाइप सेफ्टी मिलेगी।
आपको tsx को devDependencies में इंस्टॉल करना होगा, इस तरह से:
- npm
- Yarn
- pnpm
- Bun
$ npm install tsx --save-dev
$ yarn add tsx --dev
$ pnpm add tsx --save-dev
$ bun add tsx --dev
WebdriverIO स्वचालित रूप से पता लगा लेगा कि क्या ये डिपेंडेंसीज इंस्टॉल की गई हैं और आपके कॉन्फिग और टेस्ट को आपके लिए कंपाइल करेगा। सुनिश्चित करें कि आपके WDIO कॉन्फिग के साथ एक ही डायरेक्टरी में tsconfig.json हो।
कस्टम TSConfig
यदि आपको tsconfig.json के लिए एक अलग पथ सेट करने की आवश्यकता है, तो कृपया अपने वांछित पथ के साथ TSCONFIG_PATH पर्यावरण वेरिएबल सेट करें, या wdio कॉन्फिग के tsConfigPath सेटिंग का उपयोग करें।
वैकल्पिक रूप से, आप tsx के लिए पर्यावरण वेरिएबल का उपयोग कर सकते हैं।
टाइप चेकिंग
ध्यान दें कि tsx टाइप-चेकिंग का समर्थन नहीं करता है - यदि आप अपने टाइप्स की जांच करना चाहते हैं तो आपको tsc के साथ एक अलग चरण में ऐसा करना होगा।
फ्रेमवर्क सेटअप
आपके tsconfig.json में निम्नलिखित की आवश्यकता होती है:
{
"compilerOptions": {
"types": ["node", "@wdio/globals/types"]
}
}
कृपया webdriverio या @wdio/sync को स्पष्ट रूप से इम्पोर्ट करने से बचें।
WebdriverIO और WebDriver टाइप्स कहीं से भी एक्सेसिबल हैं, एक बार tsconfig.json में types में जोड़ने के बाद। यदि आप अतिरिक्त WebdriverIO सेवाओं, प्लगइन्स या devtools ऑटोमेशन पैकेज का उपयोग करते हैं, तो कृपया उन्हें भी types सूची में जोड़ें क्योंकि कई अतिरिक्त टाइपिंग प्रदान करते हैं।
फ्रेमवर्क टाइप्स
आप जिस फ्रेमवर्क का उपयोग करते हैं, उसके आधार पर आपको उस फ्रेमवर्क के लिए टाइप्स को अपने tsconfig.json टाइप्स प्रॉपर्टी में जोड़ना होगा, साथ ही उसके टाइप डेफिनिशन्स भी इंस्टॉल करनी होंगी। यह विशेष रूप से महत्वपूर्ण है यदि आप बिल्ट-इन असर्शन लाइब्रेरी expect-webdriverio के लिए टाइप सपोर्ट चाहते हैं।
उदाहरण के लिए, यदि आप Mocha फ्रेमवर्क का उपयोग करने का निर्णय लेते हैं, तो आपको @types/mocha इंस्टॉल करने और इसे इस तरह से जोड़ने की आवश्यकता है ताकि सभी टाइप्स ग्लोबली उपलब्ध हों:
- Mocha
- Jasmine
- Cucumber
{
"compilerOptions": {
"types": ["node", "@wdio/globals/types", "@wdio/mocha-framework"]
}
}
{
"compilerOptions": {
"types": ["node", "@wdio/globals/types", "@wdio/jasmine-framework"]
}
}
{
"compilerOptions": {
"types": ["node", "@wdio/globals/types", "@wdio/cucumber-framework"]
}
}