मुख्य सामग्री पर जाएं

क्षमताएँ

क्षमता एक दूरस्थ इंटरफ़ेस के लिए परिभाषा है। यह WebdriverIO को समझने में मदद करता है कि आप अपने टेस्ट किस ब्राउज़र या मोबाइल वातावरण में चलाना चाहते हैं। क्षमताएँ स्थानीय स्तर पर टेस्ट विकसित करते समय कम महत्वपूर्ण होती हैं क्योंकि आप ज्यादातर समय एक ही दूरस्थ इंटरफ़ेस पर चलाते हैं, लेकिन CI/CD में बड़े सेट के एकीकरण परीक्षण चलाते समय अधिक महत्वपूर्ण हो जाती हैं।

जानकारी

क्षमता ऑब्जेक्ट का फॉर्मेट WebDriver स्पेसिफिकेशन द्वारा अच्छी तरह से परिभाषित है। WebdriverIO टेस्टरनर जल्दी ही फेल हो जाएगा अगर उपयोगकर्ता द्वारा परिभाषित क्षमताएँ उस स्पेसिफिकेशन का पालन नहीं करती हैं।

कस्टम क्षमताएँ​

जबकि निश्चित परिभाषित क्षमताओं की संख्या बहुत कम है, हर कोई कस्टम क्षमताएँ प्रदान और स्वीकार कर सकता है जो ऑटोमेशन ड्राइवर या दूरस्थ इंटरफ़ेस के लिए विशिष्ट हैं:

ब्राउज़र विशिष्ट क्षमता एक्सटेंशन​

  • goog:chromeOptions: Chromedriver एक्सटेंशन, केवल Chrome में परीक्षण के लिए लागू
  • moz:firefoxOptions: Geckodriver एक्सटेंशन, केवल Firefox में परीक्षण के लिए लागू
  • ms:edgeOptions: EdgeOptions Chromium Edge के परीक्षण के लिए EdgeDriver का उपयोग करते समय पर्यावरण को निर्दिष्ट करने के लिए

क्लाउड वेंडर क्षमता एक्सटेंशन​

ऑटोमेशन इंजन क्षमता एक्सटेंशन​

  • appium:xxx: Appium
  • selenoid:xxx: Selenoid
  • और बहुत कुछ...

ब्राउज़र ड्राइवर विकल्पों को प्रबंधित करने के लिए WebdriverIO क्षमताएँ​

WebdriverIO आपके लिए ब्राउज़र ड्राइवर इंस्टॉल करने और चलाने का प्रबंधन करता है। WebdriverIO एक कस्टम क्षमता का उपयोग करता है जो आपको ड्राइवर में पैरामीटर पास करने की अनुमति देता है।

wdio:chromedriverOptions​

Chromedriver को शुरू करते समय विशिष्ट विकल्प पास किए जाते हैं।

wdio:geckodriverOptions​

Geckodriver को शुरू करते समय विशिष्ट विकल्प पास किए जाते हैं।

wdio:edgedriverOptions​

Edgedriver को शुरू करते समय विशिष्ट विकल्प पास किए जाते हैं।

wdio:safaridriverOptions​

Safari को शुरू करते समय विशिष्ट विकल्प पास किए जाते हैं।

wdio:maxInstances​

विशिष्ट ब्राउज़र/क्षमता के लिए समानांतर चलने वाले कुल कार्यकर्ताओं की अधिकतम संख्या। maxInstances और maxInstancesPerCapability पर प्राथमिकता लेता है।

प्रकार: number

wdio:specs​

उस ब्राउज़र/क्षमता के लिए परीक्षण निष्पादन के लिए स्पेक्स को परिभाषित करें। नियमित specs कॉन्फ़िगरेशन विकल्प के समान, लेकिन ब्राउज़र/क्षमता के लिए विशिष्ट। specs पर प्राथमिकता लेता है।

प्रकार: (String | String[])[]

wdio:exclude​

उस ब्राउज़र/क्षमता के लिए परीक्षण निष्पादन से स्पेक्स को बाहर करें। नियमित exclude कॉन्फ़िगरेशन विकल्प के समान, लेकिन ब्राउज़र/क्षमता के लिए विशिष्ट। वैश्विक exclude कॉन्फ़िगरेशन विकल्प लागू होने के बाद बाहर करता है।

प्रकार: String[]

wdio:enforceWebDriverClassic​

डिफ़ॉल्ट रूप से, WebdriverIO एक WebDriver Bidi सत्र स्थापित करने का प्रयास करता है। अगर आप इसे पसंद नहीं करते हैं, तो आप इस व्यवहार को अक्षम करने के लिए इस फ्लैग को सेट कर सकते हैं।

प्रकार: boolean

सामान्य ड्राइवर विकल्प​

जबकि सभी ड्राइवर कॉन्फ़िगरेशन के लिए अलग-अलग पैरामीटर प्रदान करते हैं, कुछ सामान्य पैरामीटर हैं जिन्हें WebdriverIO समझता है और आपके ड्राइवर या ब्राउज़र को सेट करने के लिए उपयोग करता है:

cacheDir​

कैश डायरेक्टरी के रूट का पथ। इस डायरेक्टरी का उपयोग सभी ड्राइवरों को स्टोर करने के लिए किया जाता है जो सत्र शुरू करने का प्रयास करते समय डाउनलोड किए जाते हैं।

प्रकार: string
डिफ़ॉल्ट: process.env.WEBDRIVER_CACHE_DIR || os.tmpdir()

binary​

कस्टम ड्राइवर बाइनरी का पथ। अगर सेट किया गया है तो WebdriverIO ड्राइवर डाउनलोड करने का प्रयास नहीं करेगा बल्कि इस पथ द्वारा प्रदान किए गए ड्राइवर का उपयोग करेगा। सुनिश्चित करें कि ड्राइवर आपके द्वारा उपयोग किए जा रहे ब्राउज़र के साथ संगत है।

आप इस पथ को CHROMEDRIVER_PATH, GECKODRIVER_PATH या EDGEDRIVER_PATH पर्यावरण वैरिएबल्स के माध्यम से प्रदान कर सकते हैं।

प्रकार: string

सावधानी

अगर ड्राइवर binary सेट है, तो WebdriverIO ड्राइवर डाउनलोड करने का प्रयास नहीं करेगा बल्कि इस पथ द्वारा प्रदान किए गए ड्राइवर का उपयोग करेगा। सुनिश्चित करें कि ड्राइवर आपके द्वारा उपयोग किए जा रहे ब्राउज़र के साथ संगत है।

ब्राउज़र विशिष्ट ड्राइवर विकल्प​

ड्राइवर को विकल्प प्रसारित करने के लिए आप निम्नलिखित कस्टम क्षमताओं का उपयोग कर सकते हैं:

  • Chrome या Chromium: wdio:chromedriverOptions
  • Firefox: wdio:geckodriverOptions
  • Microsoft Egde: wdio:edgedriverOptions
  • Safari: wdio:safaridriverOptions
adbPort​

जिस पोर्ट पर ADB ड्राइवर को चलाना चाहिए।

उदाहरण: 9515

प्रकार: number

urlBase​

कमांड्स के लिए बेस URL पथ प्रीफिक्स, जैसे wd/url।

उदाहरण: /

प्रकार: string

logPath​

stderr के बजाय फाइल में सर्वर लॉग लिखें, लॉग लेवल को INFO तक बढ़ाता है

प्रकार: string

logLevel​

लॉग लेवल सेट करें। संभावित विकल्प ALL, DEBUG, INFO, WARNING, SEVERE, OFF।

प्रकार: string

verbose​

वर्बोज़ लॉग करें (जो कि --log-level=ALL के बराबर है)

प्रकार: boolean

silent​

कुछ भी लॉग न करें (जो कि --log-level=OFF के बराबर है)

प्रकार: boolean

appendLog​

रीराइट करने के बजाय लॉग फाइल में अपेंड करें।

प्रकार: boolean

replayable​

वर्बोज़ लॉग करें और लंबी स्ट्रिंग्स को ट्रंकेट न करें ताकि लॉग को रीप्ले किया जा सके (प्रयोगात्मक)।

प्रकार: boolean

readableTimestamp​

लॉग में पठनीय टाइमस्टैम्प जोड़ें।

प्रकार: boolean

enableChromeLogs​

ब्राउज़र से लॉग दिखाएं (अन्य लॉगिंग विकल्पों को ओवरराइड करता है)।

प्रकार: boolean

bidiMapperPath​

कस्टम bidi मैपर पथ।

प्रकार: string

allowedIps​

अल्पविराम से अलग की गई रिमोट IP एड्रेस की अलाउलिस्ट जिन्हें EdgeDriver से कनेक्ट करने की अनुमति है।

प्रकार: string[]
डिफ़ॉल्ट: ['']

allowedOrigins​

अल्पविराम से अलग की गई अनुरोध मूल की अलाउलिस्ट जिन्हें EdgeDriver से कनेक्ट करने की अनुमति है। किसी भी होस्ट मूल को अनुमति देने के लिए * का उपयोग करना खतरनाक है!

प्रकार: string[]
डिफ़ॉल्ट: ['*']

spawnOpts​

ड्राइवर प्रोसेस में पास किए जाने वाले विकल्प।

प्रकार: SpawnOptionsWithoutStdio | SpawnOptionsWithStdioTuple<StdioOption, StdioOption, StdioOption>
डिफ़ॉल्ट: undefined

विशिष्ट उपयोग के मामलों के लिए विशेष क्षमताएँ​

यह उदाहरणों की एक सूची है जो दिखाती है कि किसी विशेष उपयोग के मामले को प्राप्त करने के लिए किन क्षमताओं को लागू करने की आवश्यकता है।

हेडलेस ब्राउज़र चलाएं​

हेडलेस ब्राउज़र चलाने का मतलब है बिना विंडो या UI के ब्राउज़र इंस्टेंस चलाना। इसका उपयोग ज्यादातर CI/CD वातावरण में किया जाता है जहां कोई डिस्प्ले नहीं होता है। ब्राउज़र को हेडलेस मोड में चलाने के लिए, निम्नलिखित क्षमताओं को लागू करें:

{
browserName: 'chrome', // या 'chromium'
'goog:chromeOptions': {
args: ['headless', 'disable-gpu']
}
}

विभिन्न ब्राउज़र चैनलों को ऑटोमेट करें​

यदि आप एक ब्राउज़र वर्शन का परीक्षण करना चाहते हैं जो अभी तक स्टेबल के रूप में रिलीज़ नहीं हुआ है, जैसे Chrome Canary, तो आप ऐसा क्षमताओं को सेट करके और आपके द्वारा शुरू करने के लिए पसंदीदा ब्राउज़र की ओर इशारा करके कर सकते हैं, जैसे:

Chrome पर परीक्षण करते समय, WebdriverIO आपके द्वारा परिभाषित browserVersion के आधार पर स्वचालित रूप से वांछित ब्राउज़र वर्शन और ड्राइवर डाउनलोड कर लेगा, जैसे:

{
browserName: 'chrome', // या 'chromium'
browserVersion: '116' // या '116.0.5845.96', 'stable', 'dev', 'canary', 'beta' या 'latest' ('canary' के समान)
}

यदि आप मैन्युअल रूप से डाउनलोड किए गए ब्राउज़र का परीक्षण करना चाहते हैं, तो आप ब्राउज़र के लिए बाइनरी पथ प्रदान कर सकते हैं:

{
browserName: 'chrome', // या 'chromium'
'goog:chromeOptions': {
binary: '/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary'
}
}

इसके अतिरिक्त, यदि आप मैन्युअल रूप से डाउनलोड किए गए ड्राइवर का उपयोग करना चाहते हैं, तो आप ड्राइवर के लिए बाइनरी पथ प्रदान कर सकते हैं:

{
browserName: 'chrome', // या 'chromium'
'wdio:chromedriverOptions': {
binary: '/path/to/chromdriver'
}
}

कस्टम क्षमताओं का विस्तार करें​

यदि आप अपना खुद का क्षमता सेट परिभाषित करना चाहते हैं, जैसे उस विशिष्ट क्षमता के लिए परीक्षणों के भीतर उपयोग करने के लिए मनमानी डेटा स्टोर करने के लिए, आप ऐसा कर सकते हैं:

export const config = {
// ...
capabilities: [{
browserName: 'chrome',
'custom:caps': {
// कस्टम कॉन्फ़िगरेशन
}
}]
}

क्षमता नामकरण के मामले में W3C प्रोटोकॉल का पालन करने की सलाह दी जाती है जिसमें एक : (कोलन) वर्ण की आवश्यकता होती है, जो एक कार्यान्वयन विशिष्ट नेमस्पेस को दर्शाता है। अपने परीक्षणों के भीतर आप अपनी कस्टम क्षमता तक पहुंच सकते हैं, जैसे:

browser.capabilities['custom:caps']

टाइप सुरक्षा सुनिश्चित करने के लिए आप WebdriverIO क्षमता इंटरफेस को इस प्रकार विस्तारित कर सकते हैं:

declare global {
namespace WebdriverIO {
interface Capabilities {
'custom:caps': {
// ...
}
}
}
}

Welcome! How can I help?

WebdriverIO AI Copilot