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

कॉन्फिगरेशन

सेटअप प्रकार (जैसे रॉ प्रोटोकॉल बाइंडिंग्स का उपयोग, स्टैंडअलोन पैकेज के रूप में 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