CucumberJS JSON रिपोर्टर
wdio-cucumberjs-json-reporter एक तृतीय पक्ष पैकेज है, अधिक जान कारी के लिए कृपया देखें GitHub | npm
WebdriverIO v8 और उससे ऊपर के लिए CucumberJS JSON फाइलें बनाने वाला एक WDIO रिपोर्टर।
यह क्या करता है
यह रिपोर्टर प्रत्येक फीचर के लिए एक Cucumber JSON फाइल जेनरेट करेगा जिसका परीक्षण किया जा रहा है। JSON फाइल का उपयोग आप जिस भी रिपोर्ट के साथ करना चाहते हैं उसके साथ किया जा सकता है, जैसे multiple-cucumber-html-reporter।
यह फीचर फाइल में चल रहे इंस्टेंस के बारे में मेटाडेटा भी जोड़ेगा और अंत में, यह आपको JSON आउटपुट में अटैचमेंट ्स जोड़ने का अवसर देगा।
इंस्टालेशन
सबसे आसान तरीका है wdio-cucumberjs-json-reporter को अपने package.json में devDependency के रूप में रखना।
{
"devDependencies": {
"wdio-cucumberjs-json-reporter": "^5.0.0"
}
}
आप इसे आसानी से कर सकते हैं:
npm install wdio-cucumberjs-json-reporter --save-dev
इस प्रकार यह स्वचालित रूप से आपके package.json में जोड़ दिया जाएगा
WebdriverIO को इंस्टॉल करने के निर्देश यहां पाए जा सकते हैं।
कॉन्फिगरेशन
अपनी wdio.conf.js फाइल में आउटपुट डायरेक्टरी और भाषा को कॉन्फिगर करें:
export const config = {
// ...
reporters: [
// इस तरह से डिफॉल्ट विकल्पों के साथ, नीचे दिए गए विकल्पों को देखें
'cucumberjs-json',
// या इस तरह से अगर आप फोल्डर और भाषा सेट करना चाहते हैं
[ 'cucumberjs-json', {
jsonFolder: '.tmp/new/',
language: 'en',
},
],
],
// ...
}
रिपोर्टर को जोड़ने के दोनों तरीकों का उपयोग न करें, यह सिर्फ एक उदाहरण है!
विकल्प
jsonFolder
- प्रकार:
String - अनिवार्य: नहीं
- डिफॉल्ट:
.tmp/json/
वह डायरेक्टरी जहां इस रिपोर्ट द्वारा जेनरेट की गई JSON फाइलें संग्रहीत की जाएंगी, स्क्रिप्ट शुरू होने के स्थान से सापेक्ष।
ध्यान दें: यदि आप कमांड लाइन से npm स्क्रिप्ट का उपयोग करते हैं, जैसे कि npm run test, तो jsonFolder उस पथ से सापेक्ष होगा
जहां से स्क्रिप्ट निष्पादित की जाती है। अपने प्रोजेक्ट के रूट से इसे निष्पादित करने पर आपके प्रोजेक्ट के रूट में भी jsonFolder बनाया जाएगा।
language
- प्रकार:
String - अनिवार्य: नहीं
- डिफॉल्ट:
en
वह भाषा जिसमें Gherkin परिदृश्य लिखे गए हैं (डिफॉल्ट अंग्रेजी है)। भाषा कोड और उनके कीवर्ड्स की सूची यहां पाई जा सकती है।
disableHooks
- प्रकार:
boolean - अनिवार्य: नहीं
- डिफॉल्ट:
false
यदि यह प्रॉपर्टी true पर सेट है तो हुक विवरण जेनरेशन का हिस्सा नहीं होंगे।
reportFilePerRetry
- प्रकार:
boolean - अनिवार्य: नहीं
- डिफॉल्ट:
true
जब किसी स्पेक को री-ट्राई किया जाता है, तो रिपोर्ट पिछले प्रयासों से मौजूदा रिपोर्ट फाइल में जोड़ी जाएगी यदि यह प्रॉपर्टी false पर सेट है।
उदाहरण:
['cucumberjs-json', { jsonFolder: '.tmp/new/', language: 'en', disableHooks:true}]
मेटाडेटा
नोट:
यह वर्तमान में WebdriverIO V6 के साथ समर्थित नहीं है, WebdriverIO V5 अभी भी इसका समर्थन करता है और WebdriverIO V7 फिर से इसका समर्थन करता है
जैसा कि कहा गया है, यह रिपोर्ट वर्तमान मशीन/डिवाइस का मेटाडेटा स्वचालित रूप से स्टोर कर सकती है जिस पर फीचर निष्पादित किया गया है।
इसे कस्टमाइज़ करने के लिए आप अपने capabilities में निम्नलिखित ऑब्जेक्ट जोड़ सकते हैं
// Example wdio.conf.js
export const config = {
//..
capabilities: [
{
browserName: 'chrome',
// Add this
'cjson:metadata': {
// For a browser
browser: {
name: 'chrome',
version: '58',
},
// for an app
app: {
name: 'name.of.app.ipa',
version: '1.2.3',
},
device: 'MacBook Pro 15',
platform: {
name: 'OSX',
version: '10.12.6'
}
},
},
],
};
मेटाडेटा ऑब्जेक्ट में
cjsonप्रीफिक्स होना चाहिए, अन्यथा यह काम नहीं करेगा!
