कॉन्फिगरेशन
सेटअप प्रकार (जैसे रॉ प्रोटोकॉल बाइंडिंग्स का उपयोग, स्टैंडअलोन पैकेज के रूप में 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 आधारित क्षमताओं के अलावा, आप ब्राउज़र और विक्रेता-विशिष्ट विकल्प लागू कर सकते हैं जो रिमोट ब्राउज़र या डिवाइस के गहन कॉन्फिगरेशन की अनुमति देते हैं। ये संबंधित विक्रेता दस्तावेज़ों में प्रलेखित हैं, जैसे:
goog:chromeOptions: Google Chrome के लिएmoz:firefoxOptions: Mozilla Firefox के लिएms:edgeOptions: Microsoft Edge के लिएsauce:options: Sauce Labs के लिएbstack:options: BrowserStack के लिएselenoid:options: Selenoid के लिए
इसके अतिरिक्त, एक उपयोगी उपकरण 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
डिफॉल्ट स्नैपशॉट पथ को ओवरराइड करता है। उदाहरण के लिए, स्नैपशॉट को टेस्ट फाइलों के बगल में स्टोर करने के लिए।
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[]): वर्कर प्रोसेस को पास किए गए स्ट्रिंग आर्गुमेंट्स की सूची