मॉक ऑब्जेक्ट
मॉक ऑब्जेक्ट एक ऐसा ऑब्जेक्ट है जो नेटवर्क मॉक का प्रतिनिधित्व करता है और उन अनुरोधों के बारे में जानकारी रखता है जो दिए गए url और filterOptions से मेल खाते हैं। इसे mock कमांड का उपयोग करके प्राप्त किया ज ा सकता है।
ध्यान दें कि mock कमांड का उपयोग करने के लिए Chrome DevTools प्रोटोकॉल के समर्थन की आवश्यकता होती है।
यह समर्थन तब दिया जाता है जब आप स्थानीय रूप से Chromium आधारित ब्राउज़र में टेस्ट चलाते हैं या
आप Selenium Grid v4 या उससे अधिक का उपयोग करते हैं। यह कमांड तब नहीं उपयोग किया जा सकता जब
क्लाउड में स्वचालित परीक्षण चलाते हैं। Automation Protocols सेक्शन में अधिक जानकारी प्राप्त करें।
आप WebdriverIO में अनुरोधों और प्रतिक्रियाओं को मॉक करने के बारे में हमारे Mocks and Spies गाइड में और पढ़ सकते हैं।
प्रॉपर्टीज
एक मॉक ऑब्जेक्ट में निम्नलिखित प्रॉपर्टीज होती हैं:
| नाम | प्रकार | विवरण |
|---|---|---|
url | String | मॉक कमांड में दिया गया url |
filterOptions | Object | मॉक कमांड में दिए गए रिसोर्स फिल्टर ऑप्शन्स |
browser | Object | मॉक ऑब्जेक्ट प्राप्त करने के लिए उपयोग किया गया Browser Object। |
calls | Object[] | मैचिंग ब्राउज़र अनुरोधों के बारे में जानकारी, जिसमें url, method, headers, initialPriority, referrerPolic, statusCode, responseHeaders और body जैसी प्रॉपर्टीज शामिल हैं |
मेथड्स
मॉक ऑब्जेक्ट विभिन्न कमांड प्रदान करते हैं, जो mock सेक्शन में सूचीबद्ध हैं, जो उपयोगकर्ताओं को अनुरोध या प्रतिक्रिया के व्यवहार को संशोधित करने की अनुमति देते हैं।
इवेंट्स
मॉक ऑब्जेक्ट एक EventEmitter है और आपके उपयोग के मामलों के लिए कुछ इवेंट्स एमिट किए जाते हैं।
यहां इवेंट्स की सूची है।
request
यह इवेंट तब एमिट होता है जब मॉक पैटर्न से मेल खाने वाले नेटवर्क अनुरोध को लॉन्च किया जाता है। इवेंट कॉलबैक में अनुरोध पास किया जाता है।
Request इंटरफेस:
interface RequestEvent {
requestId: number
request: Matches
responseStatusCode: number
responseHeaders: Record<string, string>
}
overwrite
यह इवेंट तब एमिट होता है जब नेटवर्क प्रतिक्रिया को respond या respondOnce के साथ ओवरराइट किया जाता है। इवेंट कॉलबैक में प्रतिक्रिया पास की जाती है।
Response इंटरफेस:
interface OverwriteEvent {
requestId: number
responseCode: number
responseHeaders: Record<string, string>
body?: string | Record<string, any>
}
fail
यह इवेंट तब एमिट होता है जब नेटवर्क अनुरोध को abort या abortOnce के साथ निरस्त किया जाता है। इवेंट कॉलबैक में फेल पास किया जाता है।
Fail इंटरफेस:
interface FailEvent {
requestId: number
errorReason: Protocol.Network.ErrorReason
}
match
यह इवेंट तब एमिट होता है जब नया मैच जोड़ा जाता है, continue या overwrite से पहले। इवेंट कॉलबैक में मैच पास किया जाता है।
Match इंटरफेस:
interface MatchEvent {
url: string // अनुरोध URL (फ्रैगमेंट के बिना)।
urlFragment?: string // हैश से शुरू होने वाले अनुरोधित URL का फ्रैगमेंट, यदि मौजूद हो।
method: string // HTTP अनुरोध विधि।
headers: Record<string, string> // HTTP अनुरोध हेडर्स।
postData?: string // HTTP POST अनुरोध डेटा।
hasPostData?: boolean // सत्य जब अनुरोध में POST डेटा होता है।
mixedContentType?: MixedContentType // अनुरोध का मिक्स्ड कंटेंट एक्सपोर्ट प्रकार।
initialPriority: ResourcePriority // अनुरोध भेजने के समय रिसोर्स अनुरोध की प्राथमिकता।
referrerPolicy: ReferrerPolicy // अनुरोध की रेफरर नीति, जैसा कि https://www.w3.org/TR/referrer-policy/ में परिभाषित है
isLinkPreload?: boolean // क्या लिंक प्रीलोड के माध्यम से लोड किया जाता है।
body: string | Buffer | JsonCompatible // वास्तविक रिसोर्स की बॉडी प्रतिक्रिया।
responseHeaders: Record<string, string> // HTTP प्रतिक्रिया हेडर्स।
statusCode: number // HTTP प्रतिक्रिया स्टेटस कोड।
mockedResponse?: string | Buffer // यदि मॉक, इवेंट को एमिट करता है, तो इसकी प्रतिक्रिया भी संशोधित होती है।
}
continue
यह इवेंट तब एमिट होता है जब नेटवर्क प्रतिक्रिया न तो ओवरराइट की गई है और न ही बाधित की गई है, या यदि प्रतिक्रिया पहले से ही किसी अन्य मॉक द्वारा भेजी गई है। इवेंट कॉलबैक में requestId पास किया जाता है।