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

कॉन्फिगरेशन

सेटअप प्रकार (जैसे रॉ प्रोटोकॉल बाइंडिंग्स का उपयोग, स्टैंडअलोन पैकेज के रूप में WebdriverIO या WDIO टेस्टरनर) के आधार पर, वातावरण को नियंत्रित करने के लिए विकल्पों का एक अलग सेट उपलब्ध है।

WebDriver विकल्प​

webdriver प्रोटोकॉल पैकेज का उपयोग करते समय निम्न विकल्प परिभाषित किए जाते हैं:

protocol​

ड्राइवर सर्वर के साथ संवाद करने के लिए उपयोग किया जाने वाला प्रोटोकॉल।

प्रकार: String
डिफॉल्ट: http

hostname​

आपके ड्राइवर सर्वर का होस्ट।

प्रकार: String
डिफॉल्ट: 0.0.0.0

port​

आपका ड्राइवर सर्वर किस पोर्ट पर है।

प्रकार: Number
डिफॉल्ट: undefined

path​

ड्राइवर सर्वर एंडपॉइंट का पथ।

प्रकार: String
डिफॉल्ट: /

queryParams​

क्वेरी पैरामीटर जो ड्राइवर सर्वर को प्रसारित किए जाते हैं।

प्रकार: Object
डिफॉल्ट: undefined

user​

आपका क्लाउड सेवा उपयोगकर्ता नाम (केवल Sauce Labs, Browserstack, TestingBot या TestMu AI खातों के लिए काम करता है)। यदि सेट किया गया है, तो WebdriverIO स्वचालित रूप से आपके लिए कनेक्शन विकल्प सेट करेगा। यदि आप क्लाउड प्रदाता का उपयोग नहीं करते हैं, तो इसका उपयोग किसी अन्य WebDriver बैकएंड को प्रमाणित करने के लिए किया जा सकता है।

प्रकार: String
डिफॉल्ट: undefined

key​

आपकी क्लाउड सेवा एक्सेस की या गुप्त की (केवल Sauce Labs, Browserstack, TestingBot या TestMu AI खातों के लिए काम करता है)। यदि सेट किया गया है, तो WebdriverIO स्वचालित रूप से आपके लिए कनेक्शन विकल्प सेट करेगा। यदि आप क्लाउड प्रदाता का उपयोग नहीं करते हैं, तो इसका उपयोग किसी अन्य WebDriver बैकएंड को प्रमाणित करने के लिए किया जा सकता है।

प्रकार: String
डिफॉल्ट: undefined

capabilities​

उन क्षमताओं को परिभाषित करता है जिन्हें आप अपने WebDriver सत्र में चलाना चाहते हैं। अधिक विवरण के लिए WebDriver प्रोटोकॉल देखें। यदि आप एक पुराना ड्राइवर चला रहे हैं जो WebDriver प्रोटोकॉल का समर्थन नहीं करता है, तो आपको सत्र को सफलतापूर्वक चलाने के लिए JSONWireProtocol capabilities का उपयोग करने की आवश्यकता होगी।

WebDriver आधारित क्षमताओं के अलावा, आप ब्राउज़र और विक्रेता-विशिष्ट विकल्प लागू कर सकते हैं जो रिमोट ब्राउज़र या डिवाइस के गहन कॉन्फिगरेशन की अनुमति देते हैं। ये संबंधित विक्रेता दस्तावेज़ों में प्रलेखित हैं, जैसे:

इसके अतिरिक्त, एक उपयोगी उपकरण Sauce Labs Automated Test Configurator है, जो आपको अपनी वांछित क्षमताओं को क्लिक करके इस ऑब्जेक्ट को बनाने में मदद करता है।

प्रकार: Object
डिफॉल्ट: null

उदाहरण:

{
browserName: 'chrome', // विकल्प: `chrome`, `edge`, `firefox`, `safari`
browserVersion: '27.0', // ब्राउज़र संस्करण
platformName: 'Windows 10' // OS प्लेटफॉर्म
}

यदि आप मोबाइल उपकरणों पर वेब या नेटिव टेस्ट चला रहे हैं, तो capabilities WebDriver प्रोटोकॉल से भिन्न होती हैं। अधिक जानकारी के लिए Appium Docs देखें।

logLevel​

लॉगिंग के विस्तार का स्तर।

प्रकार: String
डिफॉल्ट: info
विकल्प: trace | debug | info | warn | error | silent

outputDir​

सभी टेस्टरनर लॉग फाइलों (रिपोर्टर लॉग्स और wdio लॉग्स सहित) को स्टोर करने के लिए डायरेक्टरी। यदि सेट नहीं है, तो सभी लॉग्स stdout पर स्ट्रीम किए जाते हैं। चूंकि अधिकांश रिपोर्टर stdout पर लॉग करने के लिए बनाए गए हैं, इसलिए केवल विशिष्ट रिपोर्टर्स के लिए इस विकल्प का उपयोग करने की सिफारिश की जाती है जहां रिपोर्ट को फाइल में पुश करना अधिक समझ में आता है (जैसे junit रिपोर्टर)।

स्टैंडअलोन मोड में चलते समय, WebdriverIO द्वारा जनरेट किया गया एकमात्र लॉग wdio लॉग होगा।

प्रकार: String
डिफॉल्ट: null

connectionRetryTimeout​

ड्राइवर या ग्रिड के लिए किसी भी WebDriver अनुरोध का टाइमआउट।

प्रकार: Number
डिफॉल्ट: 120000

connectionRetryCount​

सेलेनियम सर्वर पर अनुरोध रीट्रायज़ की अधिकतम गिनती।

प्रकार: Number
डिफॉल्ट: 3

agent​

आपको अनुरोध करने के लिए कस्टम http/https/http2 एजेंट का उपयोग करने की अनुमति देता है।

प्रकार: Object
डिफॉल्ट:

{
http: new http.Agent({ keepAlive: true }),
https: new https.Agent({ keepAlive: true })
}

headers​

हर WebDriver अनुरोध में भेजने के लिए कस्टम headers निर्दिष्ट करें। यदि आपके सेलेनियम ग्रिड को बेसिक ऑथेंटिकेशन की आवश्यकता है, तो हम आपके WebDriver अनुरोधों को प्रमाणित करने के लिए इस विकल्प के माध्यम से एक Authorization हेडर पास करने की सलाह देते हैं, उदाहरण के लिए:

import { Buffer } from 'buffer';
// Read the username and password from environment variables
const username = process.env.SELENIUM_GRID_USERNAME;
const password = process.env.SELENIUM_GRID_PASSWORD;

// Combine the username and password with a colon separator
const credentials = `${username}:${password}`;
// Encode the credentials using Base64
const encodedCredentials = Buffer.from(credentials).toString('base64');

export const config: WebdriverIO.Config = {
// ...
headers: {
Authorization: `Basic ${encodedCredentials}`
}
// ...
}

प्रकार: Object
डिफॉल्ट: {}

transformRequest​

WebDriver अनुरोध करने से पहले HTTP अनुरोध विकल्पों को इंटरसेप्ट करने वाला फंक्शन

प्रकार: (RequestOptions) => RequestOptions
डिफॉल्ट: कोई नहीं

transformResponse​

WebDriver प्रतिक्रिया आने के बाद HTTP प्रतिक्रिया ऑब्जेक्ट्स को इंटरसेप्ट करने वाला फंक्शन। फंक्शन को मूल प्रतिक्रिया ऑब्जेक्ट पहले और संबंधित RequestOptions को दूसरे आर्गुमेंट के रूप में पास किया जाता है।

प्रकार: (Response, RequestOptions) => Response
डिफॉल्ट: कोई नहीं

strictSSL​

क्या SSL प्रमाणपत्र का वैध होना आवश्यक नहीं है। इसे पर्यावरण चर के रूप में STRICT_SSL या strict_ssl के माध्यम से सेट किया जा सकता है।

प्रकार: Boolean
डिफॉल्ट: true

enableDirectConnect​

क्या Appium डायरेक्ट कनेक्शन फीचर सक्षम करें। यदि फ्लैग सक्षम है तो प्रतिक्रिया में उचित कीज़ नहीं थी तो यह कुछ नहीं करता है।

प्रकार: Boolean
डिफॉल्ट: true

cacheDir​

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

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

maskingPatterns​

अधिक सुरक्षित लॉगिंग के लिए, maskingPatterns के साथ सेट किए गए रेगुलर एक्सप्रेशन लॉग से संवेदनशील जानकारी को अस्पष्ट कर सकते हैं।

  • स्ट्रिंग फॉर्मेट फ्लैग्स के साथ या बिना फ्लैग्स के एक रेगुलर एक्सप्रेशन है (जैसे /.../i) और मल्टीपल रेगुलर एक्सप्रेशन के लिए कॉमा-सेपरेटेड है।
  • मास्किंग पैटर्न के बारे में अधिक जानकारी के लिए, WDIO लॉगर README में मास्किंग पैटर्न सेक्शन देखें।

प्रकार: String
डिफॉल्ट: undefined

उदाहरण:

{
maskingPatterns: '/--key=([^ ]*)/i,/RESULT (.*)/'
}

WebdriverIO​

स्टैंडअलोन में WebdriverIO के साथ निम्न विकल्प (ऊपर सूचीबद्ध लोगों सहित) का उपयोग किया जा सकता है:

automationProtocol​

उस प्रोटोकॉल को परिभाषित करें जिसे आप अपने ब्राउज़र ऑटोमेशन के लिए उपयोग करना चाहते हैं। वर्तमान में केवल webdriver समर्थित है, क्योंकि यह मुख्य ब्राउज़र ऑटोमेशन तकनीक है जिसे WebdriverIO उपयोग करता है।

यदि आप एक अलग ऑटोमेशन तकनीक का उपयोग करके ब्राउज़र को स्वचालित करना चाहते हैं, तो सुनिश्चित करें कि आप इस प्रॉपर्टी को ऐसे पथ पर सेट करते हैं जो एक मॉड्यूल को हल करता है जो निम्नलिखित इंटरफेस का पालन करता है:

import type { Capabilities } from '@wdio/types';
import type { Client, AttachOptions } from 'webdriver';

export default class YourAutomationLibrary {
/**
* Start a automation session and return a WebdriverIO [monad](https://github.com/webdriverio/webdriverio/blob/940cd30939864bdbdacb2e94ee6e8ada9b1cc74c/packages/wdio-utils/src/monad.ts)
* with respective automation commands. See the [webdriver](https://www.npmjs.com/package/webdriver) package
* as a reference implementation
*
* @param {Capabilities.RemoteConfig} options WebdriverIO options
* @param {Function} hook that allows to modify the client before it gets released from the function
* @param {PropertyDescriptorMap} userPrototype allows user to add custom protocol commands
* @param {Function} customCommandWrapper allows to modify the command execution
* @returns a WebdriverIO compatible client instance
*/
static newSession(
options: Capabilities.RemoteConfig,
modifier?: (...args: any[]) => any,
userPrototype?: PropertyDescriptorMap,
customCommandWrapper?: (...args: any[]) => any
): Promise<Client>;

/**
* allows user to attach to existing sessions
* @optional
*/
static attachToSession(
options?: AttachOptions,
modifier?: (...args: any[]) => any, userPrototype?: {},
commandWrapper?: (...args: any[]) => any
): Client;

/**
* Changes The instance session id and browser capabilities for the new session
* directly into the passed in browser object
*
* @optional
* @param {object} instance the object we get from a new browser session.
* @returns {string} the new session id of the browser
*/
static reloadSession(
instance: Client,
newCapabilities?: WebdriverIO.Capabilitie
): Promise<string>;
}

प्रकार: String
डिफॉल्ट: webdriver

baseUrl​

बेस URL सेट करके url कमांड कॉल को छोटा करें।

  • यदि आपका url पैरामीटर / से शुरू होता है, तो baseUrl पूर्वप्रसारित होता है (सिवाय baseUrl पथ के, यदि इसमें एक है)।
  • यदि आपका url पैरामीटर स्कीम या / (जैसे some/path) के बिना शुरू होता है, तो पूर्ण baseUrl सीधे पूर्वप्रसारित होता है।

प्रकार: String
डिफॉल्ट: null

waitforTimeout​

सभी waitFor* कमांड्स के लिए डिफॉल्ट टाइमआउट। (विकल्प नाम में लोअरकेस f नोट करें।) यह टाइमआउट केवल waitFor* से शुरू होने वाले कमांड्स और उनके डिफॉल्ट प्रतीक्षा समय को प्रभावित करता है।

टेस्ट के लिए टाइमआउट बढ़ाने के लिए, कृपया फ्रेमवर्क दस्तावेज़ देखें।

प्रकार: Number
डिफॉल्ट: 5000

waitforInterval​

यह जांचने के लिए सभी waitFor* कमांड्स के लिए डिफॉल्ट अंतराल कि अपेक्षित स्थिति (जैसे, दृश्यता) बदल दी गई है या नहीं।

प्रकार: Number
डिफॉल्ट: 100

region​

यदि Sauce Labs पर चल रहे हैं, तो आप विभिन्न डेटा सेंटर्स के बीच टेस्ट चलाने का विकल्प चुन सकते हैं: US या EU। अपने क्षेत्र को EU में बदलने के लिए, अपने कॉन्फिग में region: 'eu' जोड़ें।

नोट: इसका केवल तभी प्रभाव पड़ता है जब आप user और key विकल्प प्रदान करते हैं जो आपके Sauce Labs खाते से जुड़े हों।

प्रकार: String
डिफॉल्ट: us

(केवल vm और या em/सिम्युलेटर के लिए)


टेस्टरनर विकल्प​

निम्न विकल्प (जिनमें ऊपर सूचीबद्ध लोग शामिल हैं) केवल WDIO टेस्टरनर के साथ WebdriverIO चलाने के लिए परिभाषित किए गए हैं:

specs​

टेस्ट एक्ज़ीक्यूशन के लिए स्पेक्स परिभाषित करें। आप या तो एक बार में कई फाइलों का मिलान करने के लिए एक ग्लोब पैटर्न निर्दिष्ट कर सकते हैं या एक ग्लोब या पथ के सेट को एक अरे में रैप कर सकते हैं ताकि उन्हें एक ही वर्कर प्रोसेस के भीतर चलाया जा सके। सभी पथों को कॉन्फिग फाइल पथ से सापेक्ष माना जाता है।

प्रकार: (String | String[])[]
डिफॉल्ट: []

exclude​

टेस्ट एक्ज़ीक्यूशन से स्पेक्स को बाहर रखें। सभी पथों को कॉन्फिग फाइल पथ से सापेक्ष माना जाता है।

प्रकार: String[]
डिफॉल्ट: []

suites​

विभिन्न सुइट्स का वर्णन करने वाला एक ऑब्जेक्ट, जिसे आप फिर wdio CLI पर --suite विकल्प के साथ निर्दिष्ट कर सकते हैं।

प्रकार: Object
डिफॉल्ट: {}

capabilities​

ऊपर वर्णित capabilities सेक्शन के समान, सिवाय समानांतर निष्पादन के लिए या तो एक multiremote ऑब्जेक्ट, या एक अरे में एकाधिक WebDriver सत्र निर्दिष्ट करने के विकल्प के साथ।

आप ऊपर परिभाषित एक ही विक्रेता और ब्राउज़र विशिष्ट क्षमताएं लागू कर सकते हैं।

प्रकार: Object|Object[]
डिफॉल्ट: [{ 'wdio:maxInstances': 5, browserName: 'firefox' }]

maxInstances​

कुल समानांतर चलने वाले वर्कर्स की अधिकतम संख्या।

नोट: यह एक 100 जितनी ऊंची संख्या हो सकती है, जब टेस्ट Sauce Labs जैसे बाहरी विक्रेताओं की मशीनों पर किए जा रहे हों। वहां, टेस्ट एक ही मशीन पर नहीं, बल्कि कई VM पर किए जाते हैं। यदि टेस्ट स्थानीय विकास मशीन पर चलाए जाने हैं, तो 3, 4, या 5 जैसी अधिक उचित संख्या का उपयोग करें। अनिवार्य रूप से, यह ब्राउज़रों की संख्या है जो एक साथ शुरू किए जाएंगे और एक ही समय में आपके टेस्ट चलाएंगे, इसलिए यह आपकी मशीन पर कितनी RAM है, और आपकी मशीन पर कितने अन्य ऐप्स चल रहे हैं, पर निर्भर करता है।

आप wdio:maxInstances क्षमता का उपयोग करके अपने क्षमता ऑब्जेक्ट्स के भीतर maxInstances भी लागू कर सकते हैं। यह उस विशेष क्षमता के लिए समानांतर सत्रों की मात्रा को सीमित करेगा।

प्रकार: Number
डिफॉल्ट: 100

maxInstancesPerCapability​

प्रति क्षमता कुल समानांतर चलने वाले वर्कर्स की अधिकतम संख्या।

प्रकार: Number
डिफॉल्ट: 100

injectGlobals​

WebdriverIO के ग्लोबल्स (जैसे browser, $ और $$) को ग्लोबल एनवायरनमेंट में इन्सर्ट करता है। यदि आप false पर सेट करते हैं, तो आपको @wdio/globals से आयात करना चाहिए, उदाहरण के लिए:

import { browser, $, $$, expect } from '@wdio/globals'

नोट: WebdriverIO टेस्ट फ्रेमवर्क विशिष्ट ग्लोबल्स के इंजेक्शन को संभालता नहीं है।

प्रकार: Boolean
डिफॉल्ट: true

bail​

यदि आप चाहते हैं कि आपका टेस्ट रन टेस्ट विफलताओं की एक विशिष्ट संख्या के बाद रुक जाए, तो bail का उपयोग करें। (यह डिफॉल्ट रूप से 0 है, जो सभी टेस्ट चलाता है, चाहे कुछ भी हो।) नोट: इस संदर्भ में एक टेस्ट एक एकल स्पेक फाइल के भीतर सभी टेस्ट हैं (जब Mocha या Jasmine का उपयोग करते समय) या फीचर फाइल के भीतर सभी स्टेप्स हैं (जब Cucumber का उपयोग करते समय)। यदि आप एकल टेस्ट फाइल के टेस्ट के भीतर बेल व्यवहार को नियंत्रित करना चाहते हैं, तो उपलब्ध फ्रेमवर्क विकल्पों पर एक नज़र डालें।

प्रकार: Number
डिफॉल्ट: 0 (बेल नहीं करता; सभी टेस्ट चलाता है)

specFileRetries​

जब पूरी specfile एक इकाई के रूप में विफल होती है तो पूरी specfile को फिर से चलाने का प्रयास करने के लिए संख्या।

प्रकार: Number
डिफॉल्ट: 0

specFileRetriesDelay​

स्पेक फाइल पुनः प्रयास प्रयासों के बीच सेकंड में देरी

प्रकार: Number
डिफॉल्ट: 0

specFileRetriesDeferred​

क्या पुनः प्रयास की गई स्पेक फाइलों को तुरंत पुनः प्रयास किया जाना चाहिए या कतार के अंत तक विलंबित किया जाना चाहिए।

प्रकार: Boolean
डिफॉल्ट: true

groupLogsByTestSpec​

लॉग आउटपुट व्यू चुनें।

यदि false पर सेट किया गया है, तो विभिन्न टेस्ट फाइलों के लॉग रीयल-टाइम में प्रिंट किए जाएंगे। कृपया ध्यान दें कि समानांतर में चलाते समय यह विभिन्न फाइलों से लॉग आउटपुट के मिश्रण का कारण बन सकता है।

यदि true पर सेट किया गया है, तो लॉग आउटपुट टेस्ट स्पेक द्वारा समूहित किए जाएंगे और केवल तभी प्रिंट किए जाएंगे जब टेस्ट स्पेक पूरा हो जाएगा।

डिफॉल्ट रूप से, यह false पर सेट है ताकि लॉग रीयल-टाइम में प्रिंट किए जाएं।

प्रकार: Boolean
डिफॉल्ट: false

autoAssertOnTestEnd​

नियंत्रित करता है कि क्या WebdriverIO प्रत्येक परीक्षण के अंत में स्वचालित रूप से सभी सॉफ्ट असर्शंस का असर्ट करता है। जब true पर सेट किया जाता है, तो एकत्रित किए गए किसी भी सॉफ्ट असर्शन की स्वचालित रूप से जांच की जाएगी और यदि कोई असर्शन विफल हुआ तो परीक्षण विफल हो जाएगा। जब false पर सेट किया जाता है, तो आपको सॉफ्ट असर्शंस की जांच करने के लिए मैन्युअल रूप से असर्ट मेथड को कॉल करना होगा।

प्रकार: Boolean
डिफॉल्ट: true

services​

सेवाएं एक विशिष्ट कार्य को संभालती हैं जिसे आप संभालना नहीं चाहते हैं। वे लगभग बिना किसी प्रयास के आपके टेस्ट सेटअप को बढ़ाते हैं।

प्रकार: String[]|Object[]
डिफॉल्ट: []

framework​

WDIO टेस्टरनर द्वारा उपयोग किए जाने वाले टेस्ट फ्रेमवर्क को परिभाषित करता है।

प्रकार: String
डिफॉल्ट: mocha
विकल्प: mocha | jasmine

mochaOpts, jasmineOpts और cucumberOpts​

विशिष्ट फ्रेमवर्क-संबंधी विकल्प। देखें कि फ्रेमवर्क एडाप्टर दस्तावेज़ीकरण में कौन से विकल्प उपलब्ध हैं। फ्रेमवर्क्स में इस पर अधिक पढ़ें।

प्रकार: Object
डिफॉल्ट: { timeout: 10000 }

cucumberFeaturesWithLineNumbers​

लाइन नंबर्स के साथ cucumber फीचर्स की सूची (जब cucumber फ्रेमवर्क का उपयोग करते हैं)।

प्रकार: String[] डिफॉल्ट: []

reporters​

उपयोग करने के लिए रिपोर्टर्स की सूची। एक रिपोर्टर एक स्ट्रिंग, या ['reporterName', { /* reporter options */}] अरे हो सकता है, जहां पहला एलिमेंट रिपोर्टर नाम के साथ एक स्ट्रिंग है और दूसरा एलिमेंट रिपोर्टर विकल्पों के साथ एक ऑब्जेक्ट है।

प्रकार: String[]|Object[]
डिफॉल्ट: []

उदाहरण:

reporters: [
'dot',
'spec'
['junit', {
outputDir: `${__dirname}/reports`,
otherOption: 'foobar'
}]
]

reporterSyncInterval​

निर्धारित करता है कि रिपोर्टर को किस अंतराल पर यह जांचना चाहिए कि वे सिंक्रोनाइज़ हैं या नहीं, अगर वे अपने लॉग्स को असिंक्रोनस रूप से रिपोर्ट करते हैं (जैसे, लॉग्स तीसरे पक्ष के विक्रेता को स्ट्रीम किए जाते हैं)।

प्रकार: Number
डिफॉल्ट: 100 (ms)

reporterSyncTimeout​

निर्धारित करता है कि रिपोर्टर्स के पास अपने सभी लॉग्स को अपलोड करने के लिए अधिकतम समय है, जब तक कि टेस्टरनर द्वारा एक त्रुटि न आए।

प्रकार: Number
डिफॉल्ट: 5000 (ms)

execArgv​

चाइल्ड प्रोसेस शुरू करते समय निर्दिष्ट करने के लिए नोड आर्गुमेंट्स।

प्रकार: String[]
डिफॉल्ट: null

filesToWatch​

ग्लोब सपोर्टिंग स्ट्रिंग पैटर्न की एक सूची जो टेस्टरनर को बताती है कि जब --watch फ्लैग के साथ चलाते समय उसे अन्य फाइलों को अतिरिक्त रूप से देखना है, उदाहरण के लिए एप्लिकेशन फाइलें। डिफॉल्ट रूप से टेस्टरनर पहले से ही सभी स्पेक फाइलों को देखता है।

प्रकार: String[]
डिफॉल्ट: []

updateSnapshots​

true पर सेट करें यदि आप अपने स्नैपशॉट्स को अपडेट करना चाहते हैं। आदर्श रूप से CLI पैरामीटर के हिस्से के रूप में उपयोग किया जाता है, उदाहरण के लिए wdio run wdio.conf.js --s।

प्रकार: 'new' | 'all' | 'none'
डिफॉल्ट: यदि प्रदान नहीं किया गया है और टेस्ट CI में चलते हैं तो none, यदि प्रदान नहीं किया गया है तो new, अन्यथा जो प्रदान किया गया है

resolveSnapshotPath​

डिफॉल्ट स्नैपशॉट पथ को ओवरराइड करता है। उदाहरण के लिए, स्नैपशॉट को टेस्ट फाइलों के बगल में स्टोर करने के लिए।

wdio.conf.ts
export const config: WebdriverIO.Config = {
resolveSnapshotPath: (testPath, snapExtension) => testPath + snapExtension,
}

प्रकार: (testPath: string, snapExtension: string) => string
डिफॉल्ट: टेस्ट फाइल के बगल में __snapshots__ डायरेक्टरी में स्नैपशॉट फाइलों को स्टोर करता है

tsConfigPath​

WDIO TypeScript फाइलों को कंपाइल करने के लिए tsx का उपयोग करता है। आपका TSConfig वर्तमान वर्किंग डायरेक्टरी से स्वचालित रूप से पता लगा लिया जाता है, लेकिन आप यहां एक कस्टम पथ निर्दिष्ट कर सकते हैं या TSX_TSCONFIG_PATH पर्यावरण चर सेट कर सकते हैं।

tsx दस्तावेज़ देखें: https://tsx.is/dev-api/node-cli#custom-tsconfig-json-path

प्रकार: String
डिफॉल्ट: null

हुक्स​

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

प्रत्येक हुक के पास जीवनचक्र के बारे में विशिष्ट जानकारी पैरामीटर के रूप में होती है (जैसे टेस्ट सुइट या टेस्ट के बारे में जानकारी)। हमारे उदाहरण कॉन्फिग में सभी हुक प्रॉपर्टीज के बारे में अधिक पढ़ें।

नोट: कुछ हुक्स (onPrepare, onWorkerStart, onWorkerEnd और onComplete) एक अलग प्रोसेस में निष्पादित किए जाते हैं और इसलिए वर्कर प्रोसेस में रहने वाले अन्य हुक्स के साथ किसी भी ग्लोबल डेटा को शेयर नहीं कर सकते हैं।

onPrepare​

सभी वर्कर्स शुरू होने से पहले एक बार निष्पादित होता है।

पैरामीटर्स:

  • config (object): WebdriverIO कॉन्फिगरेशन ऑब्जेक्ट
  • param (object[]): क्षमताओं के विवरण की सूची

onWorkerStart​

एक वर्कर प्रोसेस के प्रजनित होने से पहले निष्पादित होता है और उस वर्कर के लिए विशिष्ट सेवा को इनिशियलाइज़ करने के साथ-साथ असिंक्रोनस तरीके से रनटाइम एनवायरनमेंट को संशोधित करने के लिए उपयोग किया जा सकता है।

पैरामीटर्स:

  • cid (string): क्षमता आईडी (जैसे 0-0)
  • caps (object): वर्कर में प्रजनित होने वाले सत्र के लिए क्षमताओं को शामिल करना
  • specs (string[]): वर्कर प्रोसेस में चलाने के लिए स्पेक्स
  • args (object): ऑब्जेक्ट जो वर्कर इनिशियलाइज़ होने के बाद मुख्य कॉन्फिगरेशन के साथ मर्ज किया जाएगा
  • execArgv (string[]): वर्कर प्रोसेस को पास किए गए स्ट्रिंग आर्गुमेंट्स की सूची

onWorkerEnd​

वर्कर प्रोसेस के बंद होने के तुरंत बाद निष्पादित होता है।

पैरामीटर्स:

  • cid (string): क्षमता आईडी (जैसे 0-0)
  • exitCode (number): 0 - सफलता, 1 - विफलता
  • specs (string[]): वर्कर प्रोसेस में चलाने के लिए स्पेक्स
  • retries (number): स्पेक स्तर रीट्रायज़ की संख्या "Add retries on a per-specfile basis" में परिभाषित

beforeSession​

webdriver सत्र और टेस्ट फ्रेमवर्क को इनिशियलाइज़ करने से ठीक पहले निष्पादित होता है। यह आपको क्षमता या स्पेक के आधार पर कॉन्फिगरेशन को मैनिपुलेट करने की अनुमति देता है।

पैरामीटर्स:

  • config (object): WebdriverIO कॉन्फिगरेशन ऑब्जेक्ट
  • caps (object): वर्कर में प्रजनित होने वाले सत्र के लिए क्षमताओं को शामिल करना
  • specs (string[]): वर्कर प्रोसेस में चलाने के लिए स्पेक्स

before​

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

पैरामीटर्स:

  • caps (object): वर्कर में प्रजनित होने वाले सत्र के लिए क्षमताओं को शामिल करना
  • specs (string[]): वर्कर प्रोसेस में चलाने के लिए स्पेक्स
  • browser (object): बनाए गए ब्राउज़र/डिवाइस सत्र का इंस्टेंस

beforeSuite​

हुक जो सुइट शुरू होने से पहले निष्पादित होता है (केवल Mocha/Jasmine में)

पैरामीटर्स:

  • suite (object): सुइट विवरण

beforeHook​

हुक जो सुइट के भीतर एक हुक से पहले निष्पादित होता है (जैसे, Mocha में beforeEach को कॉल करने से पहले चलता है)

पैरामीटर्स:

  • test (object): टेस्ट विवरण
  • context (object): टेस्ट कॉन्टेक्स्ट (Cucumber में World ऑब्जेक्ट का प्रतिनिधित्व करता है)

afterHook​

हुक जो सुइट के भीतर एक हुक के बाद निष्पादित होता है (जैसे, Mocha में afterEach को कॉल करने के बाद चलता है)

पैरामीटर्स:

  • test (object): टेस्ट विवरण
  • context (object): टेस्ट कॉन्टेक्स्ट (Cucumber में World ऑब्जेक्ट का प्रतिनिधित्व करता है)
  • result (object): हुक रिजल्ट (इसमें error, result, duration, passed, retries प्रॉपर्टीज शामिल हैं)

beforeTest​

एक टेस्ट से पहले निष्पादित होने वाला फंक्शन (केवल Mocha/Jasmine में)।

पैरामीटर्स:

  • test (object): टेस्ट विवरण
  • context (object): स्कोप ऑब्जेक्ट जिसके साथ टेस्ट निष्पादित किया गया था

beforeCommand​

एक WebdriverIO कमांड के निष्पादित होने से पहले चलता है।

पैरामीटर्स:

  • commandName (string): कमांड नाम
  • args (*): आर्ग्युमेंट्स जो कमांड प्राप्त करेगा

afterCommand​

एक WebdriverIO कमांड के निष्पादित होने के बाद चलता है।

पैरामीटर्स:

  • commandName (string): कमांड नाम
  • args (*): आर्ग्युमेंट्स जो कमांड प्राप्त करेगा
  • result (*): कमांड का रिज़ल्ट
  • error (Error): त्रुटि ऑब्जेक्ट यदि कोई हो

afterTest​

एक टेस्ट (Mocha/Jasmine में) समाप्त होने के बाद निष्पादित होने वाला फंक्शन।

पैरामीटर्स:

  • test (object): टेस्ट विवरण
  • context (object): स्कोप ऑब्जेक्ट जिसके साथ टेस्ट निष्पादित किया गया था
  • result.error (Error): यदि टेस्ट विफल होता है तो त्रुटि ऑब्जेक्ट, अन्यथा undefined
  • result.result (Any): टेस्ट फंक्शन का रिटर्न ऑब्जेक्ट
  • result.duration (Number): टेस्ट की अवधि
  • result.passed (Boolean): यदि टेस्ट पास हो गया है तो true, अन्यथा false
  • result.retries (Object): Mocha और Jasmine के साथ-साथ Cucumber के लिए परिभाषित सिंगल टेस्ट संबंधित रीट्रायज़ के बारे में जानकारी, उदाहरण के लिए { attempts: 0, limit: 0 }, देखें
  • result (object): हुक रिजल्ट (इसमें error, result, duration, passed, retries प्रॉपर्टीज शामिल हैं)

afterSuite​

हुक जो सुइट के समाप्त होने के बाद निष्पादित होता है (केवल Mocha/Jasmine में)

पैरामीटर्स:

  • suite (object): सुइट विवरण

after​

सभी टेस्ट पूरे होने के बाद निष्पादित होता है। आपके पास अभी भी टेस्ट से सभी ग्लोबल वेरिएबल्स तक पहुंच है।

पैरामीटर्स:

  • result (number): 0 - टेस्ट पास, 1 - टेस्ट फेल
  • caps (object): वर्कर में प्रजनित होने वाले सत्र के लिए क्षमताओं को शामिल करना
  • specs (string[]): वर्कर प्रोसेस में चलाने के लिए स्पेक्स

afterSession​

webdriver सत्र को समाप्त करने के ठीक बाद निष्पादित होता है।

पैरामीटर्स:

  • config (object): WebdriverIO कॉन्फिगरेशन ऑब्जेक्ट
  • caps (object): वर्कर में प्रजनित होने वाले सत्र के लिए क्षमताओं को शामिल करना
  • specs (string[]): वर्कर प्रोसेस में चलाने के लिए स्पेक्स

onComplete​

सभी वर्कर्स के बंद होने के बाद और प्रोसेस के बाहर निकलने से पहले निष्पादित होता है। onComplete हुक में फेंकी गई एक त्रुटि टेस्ट रन के विफल होने का परिणाम देगी।

पैरामीटर्स:

  • exitCode (number): 0 - सफलता, 1 - विफलता
  • config (object): WebdriverIO कॉन्फिगरेशन ऑब्जेक्ट
  • caps (object): वर्कर में प्रजनित होने वाले सत्र के लिए क्षमताओं को शामिल करना
  • result (object): परीक्षण परिणामों वाला ऑब्जेक्ट

onReload​

रिफ्रेश होने पर निष्पादित होता है।

पैरामीटर्स:

  • oldSessionId (string): पुराने सत्र की आईडी
  • newSessionId (string): नए सत्र की आईडी

beforeFeature​

एक Cucumber फीचर से पहले चलता है।

पैरामीटर्स:

  • uri (string): फीचर फाइल का पथ
  • feature (GherkinDocument.IFeature): Cucumber फीचर ऑब्जेक्ट

afterFeature​

एक Cucumber फीचर के बाद चलता है।

पैरामीटर्स:

  • uri (string): फीचर फाइल का पथ
  • feature (GherkinDocument.IFeature): Cucumber फीचर ऑब्जेक्ट

beforeScenario​

एक Cucumber सिनेरियो से पहले चलता है।

पैरामीटर्स:

  • world (ITestCaseHookParameter): वर्ल्ड ऑब्जेक्ट जिसमें पिकल और टेस्ट स्टेप की जानकारी शामिल है
  • context (object): Cucumber World ऑब्जेक्ट

afterScenario​

एक Cucumber सिनेरियो के बाद चलता है।

पैरामीटर्स:

  • world (ITestCaseHookParameter): वर्ल्ड ऑब्जेक्ट जिसमें पिकल और टेस्ट स्टेप की जानकारी शामिल है
  • result (object): सिनेरियो के परिणाम वाला परिणाम ऑब्जेक्ट
  • result.passed (boolean): यदि सिनेरियो पास हो गया है तो true
  • result.error (string): यदि सिनेरियो विफल हो गया तो त्रुटि स्टैक
  • result.duration (number): मिलीसेकंड में सिनेरियो की अवधि
  • context (object): Cucumber World ऑब्जेक्ट

beforeStep​

एक Cucumber स्टेप से पहले चलता है।

पैरामीटर्स:

  • step (Pickle.IPickleStep): Cucumber स्टेप ऑब्जेक्ट
  • scenario (IPickle): Cucumber सिनेरियो ऑब्जेक्ट
  • context (object): Cucumber World ऑब्जेक्ट

afterStep​

एक Cucumber स्टेप के बाद चलता है।

पैरामीटर्स:

  • step (Pickle.IPickleStep): Cucumber स्टेप ऑब्जेक्ट
  • scenario (IPickle): Cucumber सिनेरियो ऑब्जेक्ट
  • result: (object): स्टेप के परिणाम वाला परिणाम ऑब्जेक्ट
  • result.passed (boolean): यदि सिनेरियो पास हो गया है तो true
  • result.error (string): यदि सिनेरियो विफल हो गया तो त्रुटि स्टैक
  • result.duration (number): मिलीसेकंड में सिनेरियो की अवधि
  • context (object): Cucumber World ऑब्जेक्ट

beforeAssertion​

हुक जो WebdriverIO असर्शन होने से पहले निष्पादित होता है।

पैरामीटर्स:

  • params: असर्शन जानकारी
  • params.matcherName (string): मैचर का नाम (जैसे toHaveTitle)
  • params.expectedValue: वैल्यू जो मैचर में पास की जाती है
  • params.options: असर्शन विकल्प

afterAssertion​

हुक जो WebdriverIO असर्शन होने के बाद निष्पादित होता है।

पैरामीटर्स:

  • params: असर्शन जानकारी
  • params.matcherName (string): मैचर का नाम (जैसे toHaveTitle)
  • params.expectedValue: वैल्यू जो मैचर में पास की जाती है
  • params.options: असर्शन विकल्प
  • params.result: असर्शन परिणाम

Welcome! How can I help?

WebdriverIO AI Copilot