प्रतिtracटोर टेस्टिंग ट्यूटोरियल: ऑटोमेशन टूल फ्रेमवर्क
प्रो क्या है?tracटोर टेस्टिंग?
प्रतिtracटो एक स्वचालन और अंत-से-अंत व्यवहार-संचालित परीक्षण उपकरण है जो एक महत्वपूर्ण भूमिका निभाता है परीक्षण AngularJS अनुप्रयोगों का विकास और शक्तिशाली प्रौद्योगिकियों जैसे समाधान इंटीग्रेटर के रूप में कार्य करना Seleniumजैस्मिन, वेब ड्राइवर, आदि। प्रो का उद्देश्यtracटोर टेस्टिंग का उपयोग केवल एंगुलरजेएस एप्लिकेशन का परीक्षण करने के लिए ही नहीं किया जाता है, बल्कि सामान्य वेब एप्लिकेशन के लिए स्वचालित रिग्रेशन टेस्ट लिखने के लिए भी किया जाता है।
हमें पेशेवरों की आवश्यकता क्यों है?tracटोर फ्रेमवर्क?
Javaस्क्रिप्ट का इस्तेमाल लगभग सभी वेब एप्लीकेशन में किया जाता है। जैसे-जैसे एप्लीकेशन बढ़ते हैं, Javaलिपि आकार और जटिलता में भी वृद्धि होती है। ऐसे मामले में, परीक्षकों के लिए विभिन्न परिदृश्यों के लिए वेब एप्लिकेशन का परीक्षण करना एक कठिन कार्य बन जाता है।
कभी-कभी AngularJS अनुप्रयोगों में वेब तत्वों को कैप्चर करना मुश्किल होता है JUnit or Selenium वेबड्राइवर.
प्रतिtracटोर एक नोडजेएस प्रोग्राम है जिसे लिखा गया है। Javaस्क्रिप्ट और नोड के साथ मिलकर AngularJS अनुप्रयोगों में वेब तत्वों की पहचान करता है, और यह उपयोगकर्ता क्रियाओं के साथ ब्राउज़र को नियंत्रित करने के लिए WebDriver का भी उपयोग करता है।
ठीक है, अब आइए चर्चा करें कि AngularJS एप्लीकेशन वास्तव में क्या है?
AngularJS एप्लीकेशन वेब एप्लीकेशन हैं जो वेब एप्लीकेशन घटकों को व्यक्त करने के लिए विस्तारित HTML के सिंटैक्स का उपयोग करते हैं। इसका उपयोग मुख्य रूप से गतिशील वेब एप्लीकेशन के लिए किया जाता है। ये एप्लीकेशन सामान्य वेब एप्लीकेशन की तुलना में कम और लचीले कोड का उपयोग करते हैं।
हम सामान्य का उपयोग करके Angular JS वेब तत्वों को क्यों नहीं ढूंढ सकते हैं? Selenium वेब ड्राइवर?
Angular JS अनुप्रयोगों में कुछ अतिरिक्त HTML विशेषताएँ होती हैं जैसे ng-repeater, ng-controller, ng-model.., आदि, जो इसमें शामिल नहीं हैं Selenium लोकेटर. Selenium उन वेब तत्वों की पहचान करने में सक्षम नहीं है Selenium कोड। तो, प्रोtracसबसे ऊपर Selenium वेब अनुप्रयोगों में उन विशेषताओं को संभाल और नियंत्रित कर सकता है।
पेशेवरtracTor, Angular JS आधारित अनुप्रयोगों के लिए एक संपूर्ण परीक्षण ढांचा है। जबकि अधिकांश ढांचे Angular JS अनुप्रयोगों के लिए यूनिट परीक्षण करने पर ध्यान केंद्रित करते हैं, Protracटोर किसी एप्लिकेशन की वास्तविक कार्यक्षमता का परीक्षण करने पर ध्यान केंद्रित करता है।
इससे पहले कि हम प्रो शुरू करेंtracटोर, हमें निम्नलिखित को स्थापित करने की आवश्यकता है:
- Seleniumआप पा सकते हैं Selenium स्थापना चरण निम्नलिखित लिंक में हैं, (https://www.guru99.com/installing-selenium-webdriver.html )
- NPM (Node.js) NodeJS इंस्टॉलेशन: Pro इंस्टॉल करने के लिए हमें NodeJS इंस्टॉल करना होगा।tracटोर। आप इस इंस्टॉलेशन के चरण निम्नलिखित लिंक में पा सकते हैं। https://www.guru99.com/download-install-node-js.html )
प्रतिtracस्थापना के लिए
चरण 1) कमांड प्रॉम्प्ट खोलें और टाइप करें “npm install –g protracतोर" और हिट दर्ज करें.
उपरोक्त कमांड आवश्यक फाइलों को डाउनलोड करेगा और प्रो इंस्टॉल करेगा।tracक्लाइंट सिस्टम पर टॉर।
चरण 2) स्थापना और संस्करण की जाँच करें "प्रतिtracटोर - संस्करण". यदि सफल रहा तो यह नीचे दिए गए स्क्रीनशॉट की तरह संस्करण दिखाएगा। यदि नहीं, तो चरण 1 को फिर से निष्पादित करें।
(चरण 3 और 4 वैकल्पिक हैं लेकिन बेहतर अभ्यास के लिए अनुशंसित हैं)
चरण 3) वेब ड्राइवर मैनेजर को अपडेट करें। वेब ड्राइवर मैनेजर का उपयोग किसी विशिष्ट ब्राउज़र में एंगुलर वेब एप्लिकेशन के विरुद्ध परीक्षण चलाने के लिए किया जाता है। प्रो के बादtracTor इंस्टॉल होने के बाद, वेब ड्राइवर मैनेजर को नवीनतम संस्करण में अपडेट करना आवश्यक है। यह काम कमांड प्रॉम्प्ट में निम्न कमांड चलाकर किया जा सकता है।
webdriver-manager update
चरण 4) वेब ड्राइवर मैनेजर शुरू करें। यह चरण वेब ड्राइवर मैनेजर को बैकग्राउंड में चलाएगा और प्रो के माध्यम से चलने वाले किसी भी परीक्षण को सुनेगा।tracटॉर।
वन्स प्रोtracयदि टोर का उपयोग किसी भी परीक्षण को चलाने के लिए किया जाता है, तो वेब ड्राइवर स्वचालित रूप से संबंधित ब्राउज़र में परीक्षण को लोड और रन करेगा। वेब ड्राइवर मैनेजर को शुरू करने के लिए, कमांड प्रॉम्प्ट से निम्नलिखित कमांड को निष्पादित करना होगा।
webdriver-manager start
अब, यदि आप निम्नलिखित पर जाते हैं URL (http://localhost:4444/wd/hub/static/resource/hub.html) को अपने ब्राउज़र में खोलने पर, आप वास्तव में वेब ड्राइवर प्रबंधक को पृष्ठभूमि में चलता हुआ देखेंगे।
प्रो का उपयोग करके एंगुलरजेएस एप्लिकेशन परीक्षण का नमूनाtracटो
प्रतिtracटोर को चलने के लिए दो फाइलों की आवश्यकता होती है, एक कल्पना फ़ाइल और विन्यास फ़ाइल.
- विन्यास फाइलयह फ़ाइल पेशेवरों की मदद करती हैtracटेस्ट फाइलों (specs.js) के स्थान पर जाने और बातचीत करने के लिए Selenium सर्वर (Selenium पता)। प्रो के लिए क्रोम डिफ़ॉल्ट ब्राउज़र है।tracटॉर।
- स्पेक फ़ाइल: इस फ़ाइल में एप्लिकेशन के साथ बातचीत करने के लिए तर्क और लोकेटर शामिल हैं.
चरण 1) हमें लॉगइन करना होगा https://angularjs.org और “यहां नाम दर्ज करें” टेक्स्टबॉक्स में “GURU99” टेक्स्ट दर्ज करें।
चरण 2) इस चरण में,
- नाम दर्ज किया “Guru99 "
- आउटपुट टेक्स्ट में "हैलो" Guru99″ दिखाई दे रहा है।
चरण 3) अब हमें नाम दर्ज करने के बाद वेबपेज से टेक्स्ट कैप्चर करना होगा और अपेक्षित टेक्स्ट के साथ सत्यापन करना होगा.
Code:
हमें कॉन्फ़िगरेशन फ़ाइल तैयार करनी है (conf.js) और स्पेक फ़ाइल (स्पेक.जेएस) जैसा कि ऊपर उल्लेख किया गया है।
Spec.js का तर्क:
describe('Enter GURU99 Name', function() {
it('should add a Name as GURU99', function() {
browser.get('https://angularjs.org');
element(by.model('yourName')).sendKeys('GURU99');
var guru= element(by.xpath('html/body/div[2]/div[1]/div[2]/div[2]/div/h1'));
expect(guru.getText()).toEqual('Hello GURU99!');
});
});
Code spec.js की व्याख्या:
- वर्णन('एंटर गुरु 99 नाम', फ़ंक्शन()वर्णन सिंटैक्स जैस्मीन फ्रेमवर्क से है। यहाँ "वर्णन" ('एंटर गुरु 99 नाम') आम तौर पर एक एप्लिकेशन के घटकों को परिभाषित करता है, जो एक क्लास या फ़ंक्शन आदि हो सकता है। "एंटर गुरु 99" नामक कोड सूट में, यह सिर्फ एक स्ट्रिंग है और कोड नहीं है।
- it('नाम को GURU99 के रूप में जोड़ना चाहिए', फ़ंक्शन()
- ब्राउज़र.get('https://angularjs.org')जैसा कि Selenium Webdriver browser.get उल्लिखित ब्राउज़र इंस्टेंस को खोलेगा। URL.
- तत्व(द्वारा.मॉडल('आपका नाम')).सेंडकीज('GURU99') यहाँ हम मॉडल नाम "yourName" का उपयोग करके वेब तत्व ढूँढ रहे हैं, जो वेब पेज पर "ng-model" का मान है। नीचे दिए गए स्क्रीन शॉट को देखें-
- var guru= element(by.xpath('html/body/div[2]/div[1]/div[2]/div[2]/div/h1')) यहाँ हम वेब तत्व ढूंढ रहे हैं एक्सपाथ और इसके मान को एक चर “गुरु” में संग्रहीत करें.
- उम्मीद(गुरु.getText()).बराबर करने के लिए('हैलो गुरु99!') अंत में हम वेबपेज से प्राप्त पाठ को (gettext() का उपयोग करके) अपेक्षित पाठ के साथ सत्यापित कर रहे हैं।
conf.js का तर्क:
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['spec.js']
};
Code conf.js की व्याख्या
- seleniumAddress: 'http://localhost:4444/wd/hub' कॉन्फ़िगरेशन फ़ाइल Pro को बताती हैtracके स्थान के लिए Selenium बात करने के लिए पता Selenium वेबड्राइवर.
- specs: ['spec.js'] यह पंक्ति प्रो को बताती हैtracटेस्ट फ़ाइलों spec.js के स्थान के लिए
का निष्पादन Code
यहाँ सबसे पहले, हम डायरेक्टरी पथ को बदलेंगे या उस फ़ोल्डर पर नेविगेट करेंगे जहाँ confi.js और spec.js हमारे सिस्टम में रखे गए हैं.
निम्नलिखित चरण का पालन करें.
चरण 1) कमांड प्रॉम्प्ट खोलें।
चरण 2) सुनिश्चित करें कि सेलेनियम वेब ड्राइवर मैनेजर चालू है। इसके लिए “webdriver-manager start” कमांड दें और एंटर दबाएँ.
(यदि सेलेनियम वेब ड्राइवर चालू नहीं है, तो हम प्रो के रूप में परीक्षण के साथ आगे नहीं बढ़ सकते)tracटोर को वेब एप्लिकेशन को संभालने के लिए वेब ड्राइवर नहीं मिल पा रहा है।
चरण 3) एक नया कमांड प्रॉम्प्ट खोलें और निम्न कमांड दें “समर्थकtracटोर कॉन्फ.जेएस कॉन्फ़िगरेशन फ़ाइल चलाने के लिए.
स्पष्टीकरण:
- यहां प्रोtracटोर दी गई स्पेक फ़ाइल के साथ कॉन्फ़िगरेशन फ़ाइल को निष्पादित करेगा।
- हम सेलेनियम सर्वर को " पर चलता हुआ देख सकते हैंhttp://localhost:4444/wd/hub” जो हमने conf.js फ़ाइल में दिया है।
- इसके अलावा, यहां परिणाम देख सकते हैं कि कितने पास हुए और कितने असफल हुए जैसे कि ऊपर स्क्रीनशॉट में है.
ठीक है, हमने परिणाम को तब सत्यापित कर लिया जब वह पास हो गया या जैसा अपेक्षित था। अब आइए हम असफल परिणाम पर भी नज़र डालें।
चरण 1) Spec.js को खोलें और अपेक्षित परिणाम को नीचे दिए अनुसार “'हैलो चेंज GURU99” में बदलें।
Spec.js में परिवर्तन के बाद :
describe('Enter GURU99 Name', function() {
it('should add a Name as GURU99', function() {
browser.get('https://angularjs.org');
element(by.model('yourName')).sendKeys('GURU99');
var guru= element(by.xpath('html/body/div[2]/div[1]/div[2]/div[2]/div/h1'));
expect(guru.getText()).toEqual('Hello change GURU99!');
});
});
चरण 2) spec.js फ़ाइल को सेव करें और "एक्ज़ीक्यूशन" के उपरोक्त चरणों को दोहराएँ। Code" अनुभाग
अब, उपरोक्त चरणों का पालन करें।
रिजल्ट:
हम स्क्रीनशॉट में 'F' द्वारा दर्शाए गए परिणाम को असफल के रूप में देख सकते हैं, तथा कारण भी बता सकते हैं “अपेक्षित है कि 'हैलो GURU99!' का अर्थ 'हैलो चेंज GURU99!' होगा। इसके अलावा, यह दिखाता है कि कोड निष्पादित करते समय कितनी विफलताएं सामने आईं।
क्या हम भी ऐसा ही कर सकते हैं? Selenium वेब ड्राइवर?
कभी-कभी हम XPath या CSS चयनकर्ता का उपयोग करके AngularJS अनुप्रयोगों के वेब तत्वों की पहचान कर सकते हैं Selenium वेब ड्राइवर। लेकिन AngularJS अनुप्रयोगों में, तत्व गतिशील रूप से उत्पन्न और परिवर्तित होंगे। इसलिए प्रोtracAngularJS एप्लिकेशन के साथ काम करने के लिए Tor का उपयोग करना बेहतर तरीका है।
जैस्मिन रिपोर्टर्स का उपयोग करके रिपोर्ट तैयार करें
प्रतिtracटोर टेस्ट रिपोर्ट तैयार करने के लिए जैस्मिन रिपोर्टर्स का समर्थन करता है। इस अनुभाग में, हम JunitXMLReporter का उपयोग करके XML प्रारूप में स्वचालित रूप से टेस्ट निष्पादन रिपोर्ट तैयार करेंगे।
XML प्रारूप में रिपोर्ट तैयार करने के लिए नीचे दिए गए चरणों का पालन करें।
जैस्मिन रिपोर्टर की स्थापना
ऐसा करने के दो तरीके हैं, स्थानीय स्तर पर या वैश्विक स्तर पर
- स्थानीय रूप से इंस्टॉल करने के लिए कमांड प्रॉम्प्ट खोलें और निम्न कमांड निष्पादित करें
npm install --save-dev jasmine-reporters@^2.0.0
उपरोक्त कमांड जैस्मिन रिपोर्ट्स नोड-मॉड्यूल्स को स्थानीय रूप से स्थापित करेगा, अर्थात उस निर्देशिका से जहां हम कमांड प्रॉम्प्ट में कमांड चला रहे हैं।
- कमांड प्रॉम्प्ट खोलें और वैश्विक स्थापना के लिए निम्नलिखित कमांड निष्पादित करें
npm install –g jasmine-reporters@^2.0.0
इस ट्यूटोरियल में, हम जैस्मीन रिपोर्टर्स को स्थानीय रूप से स्थापित करेंगे.
चरण 1) आदेश निष्पादित करें.
npm install --save-dev jasmine-reporters@^2.0.0
नीचे दिए गए कमांड प्रॉम्प्ट से।
चरण 2) निर्देशिका में स्थापना फ़ोल्डरों की जाँच करें. यदि यह नीचे दिए गए स्नैपशॉट की तरह सफलतापूर्वक स्थापित हो जाए तो "Node_modules" उपलब्ध होना चाहिए।
चरण 3) किसी मौजूदा conf.js फ़ाइल में निम्नलिखित रंगीन कोड जोड़ें
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
'browserName': 'firefox'
},
specs: ['spec.js'],
framework: 'jasmine2' ,
onPrepare: function() {
var jasmineReporters = require('C:/Users/RE041943/Desktop/guru/node_modules/jasmine-reporters');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter(null, true, true)
);
}
};
कोड का स्पष्टीकरण:
कोड में, हम रिपोर्ट तैयार कर रहे हैं “JUnitXML रिपोर्टर” और रिपोर्ट को संग्रहीत करने के लिए पथ देना।
चरण 4) कमांड प्रॉम्प्ट खोलें और कमांड निष्पादित करें के लिएtracटोर कॉन्फ.जेएस.
चरण 5) जब आप उपरोक्त कोड निष्पादित करेंगे, तो उल्लिखित पथ में junitresults.xml उत्पन्न हो जाएगा।
चरण 6) XML खोलें और परिणाम की पुष्टि करें। विफलता संदेश परिणाम फ़ाइल में हमारे रूप में दिखाया गया है परीक्षण का मामला विफल हो गया है। परीक्षण मामला विफल हो गया है क्योंकि “spec.js” से अपेक्षित परिणाम वेब पेज से वास्तविक परिणाम से मेल नहीं खाता है
चरण 7) साक्ष्य या परिणाम फ़ाइलों के लिए junitresult.xml फ़ाइल का उपयोग करें।
सारांश
यद्यपि Selenium पेशेवर लोगों की तरह कुछ काम कर सकता है।tracटोर करता है, प्रोtracTor, AngularJS अनुप्रयोगों के परीक्षण के लिए औद्योगिक मानक और सर्वोत्तम अभ्यास है। एक प्रोtracटोर इसमें कई क्षमताओं का प्रबंधन भी कर सकता है और वेब तत्वों के गतिशील परिवर्तनों को संभाल सकता है। एनजी मॉडल, एनजी-क्लिक.., आदि.. (जो सेलेनियम नहीं कर सकता)।















