जेनकिंस
WebdriverIO Jenkins जैसे CI सिस्टम के साथ मजबूत एकीकरण प्रदान करता है। junit
रिपोर्टर के साथ, आप आसानी से अपने टेस्ट को डीबग कर सकते हैं और अपने टेस्ट रिजल्ट का ट्रैक रख सकते हैं। एकीकरण काफी आसान है।
junit
टेस्ट रिपोर्टर इंस्टॉल करें:$ npm install @wdio/junit-reporter --save-dev
)- अपने कॉन्फिग को अपडेट करें ताकि आपके XUnit रिजल्ट वहां सेव हों जहां Jenkins उन्हें पा सके,
(और
junit
रिपोर्टर को स्पेसिफाई करें):
// wdio.conf.js
module.exports = {
// ...
reporters: [
'dot',
['junit', {
outputDir: './'
}]
],
// ...
}
आप कौन सा फ्रेमवर्क चुनते हैं यह आप पर निर्भर है। रिपोर्ट समान होंगी। इस ट्यूटोरियल के लिए, हम Jasmine का उपयोग करेंगे।
कुछ टेस्ट लिखने के बाद, आप एक नया Jenkins जॉब सेट कर सकते हैं। इसे एक नाम और विवरण दें:
फिर सुनिश्चित करें कि यह हमेशा आपके रिपॉजिटरी का नवीनतम वर्जन प्राप्त करता है:
अब महत्वपूर्ण भाग: शेल कमांड को एक्जीक्यूट करने के लिए एक build
स्टेप बनाएं। build
स्टेप को आपके प्रोजेक्ट को बिल्ड करना चाहिए। चूंकि यह डेमो प्रोजेक्ट केवल एक बाहरी ऐप का परीक्षण करता है, आपको कुछ भी बिल्ड करने की आवश्यकता नहीं है। बस node डिपेंडेंसी इंस्टॉल करें और npm test
कमांड चलाएं (जो node_modules/.bin/wdio test/wdio.conf.js
का एलियास है)।
यदि आपने AnsiColor जैसा प्लगइन इंस्टॉल किया है, लेकिन लॉग अभी भी रंगीन नहीं हैं, तो टेस्ट को एनवायरनमेंट वेरिएबल FORCE_COLOR=1
के साथ चलाएं (जैसे, FORCE_COLOR=1 npm test
)।
आपके टेस्ट के बाद, आप चाहेंगे कि Jenkins आपकी XUnit रिपोर्ट को ट्रैक करे। ऐसा करने के लिए, आपको "Publish JUnit test result report" नामक एक पोस्ट-बिल्ड एक्शन जोड़ना होगा।
आप अपनी रिपोर्ट को ट्रैक करने के लिए एक बाहरी XUnit प्लगइन भी इंस्टॉल कर सकते हैं। JUnit वाला बेसिक Jenkins इंस्टॉलेशन के साथ आता है और अभी के लिए पर्याप्त है।
कॉन्फिग फाइल के अनुसार, XUnit रिपोर्ट प्रोजेक्ट के रूट डायरेक्टरी में सेव की जाएंगी। ये रिपोर्ट XML फाइलें हैं। इसलिए, रिपोर्ट को ट्रैक करने के लिए आपको बस Jenkins को अपने रूट डायरेक्टरी में सभी XML फाइलों की ओर इशारा करना है:
बस इतना ही! अब आपने अपने WebdriverIO जॉब चलाने के लिए Jenkins को सेट अप कर लिया है। आपका जॉब अब विस्तृत टेस्ट रिजल्ट प्रदान करेगा जिसमें हिस्ट्री चार्ट, फेल्ड जॉब पर स्टैकट्रेस इनफॉर्मेशन, और कमांड की लिस्ट होगी जिसमें हर टेस्ट में उपयोग किए गए पेलोड शामिल हैं।