पुनः-चलाएँ सेवा
wdio-rerun-service एक तृतीय पक्ष पैकेज है, अधिक जानकारी के लिए कृपया देखें GitHub | npm
यह सेवा WebdriverIO टेस्ट फ्रेमवर्क के भीतर निष्पादित विफल Mocha या Jasmine टेस्ट और Cucumber परिदृश्यों को ट्रैक करती है। यह विफल या अस्थिर टेस्ट या परिदृश्यों को पुनः चलाने की अनुमति देगी।
नोट: WebdriverIO संस्करण 5.x
और 6.x
चलाने वाले Cucumber फ्रेमवर्क उपयोगकर्ताओं को संस्करण 1.6.x
का उपयोग करना चाहिए। यदि आप नवीनतम प्रमुख संस्करण 7.x
पर हैं, तो इस सेवा के नवीनतम 1.7.x
संस्करण का उपयोग करें।
पुनः-चलाएँ बनाम पुनः प्रयास
WebdriverIO में Cucumber और Mocha/Jasmine के लिए निर्मित retry
लॉजिक Cucumber में अस्थिर चरणों और Mocha/Jasmine में अस्थिर परीक्षणों को संभालने में मददगार है। प्रत्येक फ्रेमवर्क में पुनः प्रयास की कुछ कमियां हैं:
- Cucumber: यह इस बात को ध्यान में नहीं रखता है कि कुछ चरणों को परीक्षण के बीच में पुनः प्रयास करना संभव नहीं हो सकता है। किसी चरण को दो बार चलाने से परिदृश्य का बाकी हिस्सा टूट सकता है या परीक्षण के संदर्भ में यह संभव नहीं हो सकता है।
- Mocha/Jasmine:
retry
लॉजिक एक व्यक्तिगत परीक्षण पर लागू किया जा सकता है, हालांकि, यह अभी भी वास्तविक समय में किया जाता है और शायद अस्थायी मुद्दों या नेटवर्क कनेक्टिविटी समस्याओं को ध्यान में नहीं रखता है।
re-run
की मुख्य विशेषताएं:
- एक पूरे व्यक्तिगत Cucumber परिदृश्य को पुनः चलाएगा और न कि केवल एक चरण
- मुख्य परीक्षण निष्पादन पूरा होने के बाद एक पूरी स्पेक फ़ाइल को पुनः चलाने में सक्षम बनाता है
- स्थानीय रूप से कॉपी और निष्पादित किया जा सकता है (
retry
नहीं कर सकता) - अभी भी
retry
विधियों के साथ उपयोग किया जा सकता है - अस्थिर या समस्याग्रस्त परीक्षणों पर
retry
लॉजिक लागू करने के लिए किसी कोड परिवर्तन की आवश्यकता नहीं है
यह अनुशंसित है कि उपलब्ध विकल्पों का मूल्यांकन करने के लिए कुछ समय लिया जाए। एक हाइब्रिड समाधान सबसे अच्छे वास्तविक और कार्रवाई योग्य परीक्षण परिणाम प्रदान करने के लिए सबसे अच्छा समाधान हो सकता है।
स्थापना
सबसे आसान तरीका है आपके package.json
में wdio-rerun-service
को devDependencies
में जोड़ना।
{
"devDependencies": {
"wdio-rerun-service": "^1.6.2"
}
}
इसे npm
का उपयोग करके स्थापित किया जा सकता है:
npm install wdio-rerun-service
पैकेज स्थापना पूरी होने के बाद, इसे wdio.conf.js
में services
सरणी में जोड़ें:
// wdio.conf.js
const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [RerunService, {
// ...
}]
};
WebdriverIO
को कैसे स्थापित करें इसके निर्देश यहां पाए जा सकते हैं।
कॉन्फ़िगरेशन
निम्नलिखित विकल्प wdio.conf.js फ़ाइल में जोड़े जा सकते हैं। सेवा के लिए विकल्प परिभाषित करने के लिए आपको सेवा को services
सूची में निम्नलिखित तरीके से जोड़ना होगा:
// wdio.conf.js
const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
// Re-run service options here...
}]
],
// ...
};
rerunDataDir
वह निर्देशिका जहां निष्पादन के दौरान सभी पुनः-चलाएँ JSON डेटा रखा जाएगा।
प्रकार: String
डिफ़ॉल्ट: ./results/rerun
उदाहरण:
const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
rerunDataDir: './custom-rerun-directory'
}]
],
// ...
}
rerunScriptPath
पुनः-चलाएँ Bash स्क्रिप्ट लिखने का पथ।
प्रकार: String
डिफ़ॉल्ट: ./rerun.sh
उदाहरण:
const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
rerunScriptPath: './custom-path-for-rerun.sh'
}]
],
// ...
}
ignoredTags
(केवल Cucumber) बाहर रखने के लिए Cucumber टैग का सेट। यदि परिदृश्य में टैग होता है, तो पुनः-चलाएँ सेवा विश्लेषण को छोड़ देगी।
प्रकार: Array
डिफ़ॉल्ट: []
उदाहरण:
const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
ignoredTags: ['@known_bug']
}]
],
// ...
}
commandPrefix
उत्पन्न पुनः-चलाएँ कमांड के आगे जोड़ा जाने वाला प्रीफिक्स।
प्रकार: String
डिफ़ॉल्ट: ''
उदाहरण:
const RerunService = require('wdio-rerun-service');
export.config = {
// ...
services: [
[RerunService, {
commandPrefix: "VARIABLE=true"
}]
],
// ...
}