Looking for protractor Answers? Try Ask4KnowledgeBase
Looking for protractor Keywords? Try Ask4Keywords

protractorप्रोट्रक्टर के साथ शुरुआत करना


टिप्पणियों

प्रोटेक्टर एंगुलरजेएस अनुप्रयोगों के लिए एंड-टू-एंड टेस्ट फ्रेमवर्क है।

प्रोटेक्टर सेलेनियम वेबड्राइवर के चारों ओर एक आवरण (ऊपर की ओर निर्मित) होता है, इसलिए इसमें हर वह सुविधा होती है जो सेलेनियम वेबड्राइवर में उपलब्ध होती है। इसके अतिरिक्त, प्रोट्रैक्टर कुछ नए लोकेटर रणनीतियों और कार्यों को प्रदान करता है जो AngularJS एप्लिकेशन को स्वचालित करने में बहुत सहायक होते हैं। उदाहरणों में चीजें शामिल हैं: WaitForAngular, By.binding, By.repeater, By.textarea, By.model, WebElement.all, WebElement.ev मूल्यांकन, आदि।

संस्करण

संस्करण डेटा जारी करें
0.0.1 2016/08/01

प्रोटेक्टर का उपयोग करके पहला परीक्षण

प्रोटेक्टर को पहले टेस्ट, स्पेक (टेस्ट कोड) फ़ाइल और कॉन्फ़िगरेशन फ़ाइल को चलाने के लिए केवल दो फ़ाइलों की आवश्यकता होती है। कल्पना फ़ाइल में परीक्षण कोड होता है और दूसरे में कॉन्फ़िगरेशन विवरण होता है जैसे कल्पना फ़ाइल पथ, ब्राउज़र विवरण, परीक्षण url, फ्रेमवर्क पैरामीटर आदि। पहला परीक्षण लिखने के लिए हम केवल सेलेनियम सर्वर पता और युक्ति फ़ाइल पथ प्रदान करेंगे। ब्राउज़र जैसे अन्य पैरामीटर , समय-सीमा, ढाँचा को डिफ़ॉल्ट मानों के लिए चुना जाएगा।

Protractor के लिए डिफ़ॉल्ट ब्राउज़र क्रोम है।

conf.js - कॉन्फ़िगरेशन फ़ाइल

exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['spec.js']
};
 

spec.js - कल्पना (परीक्षण कोड) फ़ाइल

describe('first test in protractor', function() {
  it('should verify title', function() {
    browser.get('https://angularjs.org');

    expect(browser.getTitle()).toEqual('AngularJS — Superheroic JavaScript MVW Framework');
  });
});
 

seleniumAddress - वेबड्राइवर सर्वर चल रहा है, जहां सर्वर के लिए पथ।

चश्मा - एक सरणी तत्व जिसमें परीक्षण फ़ाइलों का पथ होता है। कई रास्तों को अल्पविराम द्वारा अलग किए गए मानों द्वारा निर्दिष्ट किया जा सकता है।

वर्णन - जैस्मीन ढांचे से सिंटेक्स। वाक्यविन्यास sta का describe

स्थापित करना और प्रोटेक्टर स्थापित करना (विंडोज पर)

आवश्यकताएँ: प्रतिक्षेपक को स्थापना से पहले निम्नलिखित निर्भरताएं स्थापित करने की आवश्यकता होती है:

  • जावा JDK 1.7 या उच्चतर
  • Node.js v4 या उच्चतर

स्थापना:

इस URL से Node.js डाउनलोड और इंस्टॉल करें: https://nodejs.org/en/

यह देखने के लिए कि क्या Node.js की स्थापना सफल है, तो आप पर्यावरण चर की जांच कर सकते हैं। सिस्टम चर के तहत 'पथ' स्वचालित रूप से अद्यतन किया जाएगा।

Node.js स्थापना की जाँच करने के लिए पथ चर


आप कमांड प्रॉम्प्ट में कमांड npm -version टाइप करके भी इसे देख सकते हैं जो आपको स्थापित संस्करण देगा।

Node.js स्थापना की जाँच करने के लिए कमांड


अब प्रोटेक्टर को दो तरीकों से स्थापित किया जा सकता है: स्थानीय या ग्लोबली।

हम एक निर्दिष्ट फ़ोल्डर या प्रोजेक्ट डायरेक्टरी स्थान में प्रोट्रेक्टर स्थापित कर सकते हैं। यदि हम प्रोजेक्ट डायरेक्टरी में स्थापित होते हैं, तो हर बार जब हम दौड़ते हैं, तो हमें उस स्थान से ही चलना चाहिए।

प्रोजेक्ट निर्देशिका में स्थानीय रूप से स्थापित करने के लिए, प्रोजेक्ट फ़ोल्डर में नेविगेट करें और कमांड टाइप करें

npm install protractor


विश्व स्तर पर प्रोटेक्टर को स्थापित करने के लिए कमांड चलाएं:

$ npm install -g protractor
 

यह दो कमांड लाइन उपकरण, स्थापित हो जाएगा protractor और webdriver-manager
protractor --version को सफलतापूर्वक स्थापित करने के लिए रन protractor --version को चलाएं।

webdriver-manager का उपयोग ब्राउज़र ड्राइवर बायनेरिज़ को डाउनलोड करने और सेलेनियम सर्वर को शुरू करने के लिए किया जाता है।
ब्राउज़र ड्राइवर बायनेरिज़ को डाउनलोड करें:

$ webdriver-manager update
 

सेलेनियम सर्वर के साथ शुरू करें:

$ webdriver-manager start
 

इंटरनेट एक्सप्लोरर ड्राइवर को डाउनलोड करने के लिए कमांड प्रॉम्प्ट में कमांड webdriver-manager update --ie । यह आपके सेलेनियम फ़ोल्डर में IEDriverServer.exe डाउनलोड करेगा

लंबित परीक्षण

प्रोटेक्टर परीक्षण को लंबित के रूप में सेट करने की अनुमति देता है। इसका मतलब यह है कि प्रोट्रैक्टर परीक्षण को अंजाम नहीं देगा, बल्कि आउटपुट देगा:

Pending:
1) Test Name
Temporarily disabled with xit
 

या, यदि xdescribe के साथ अक्षम किया गया है ():

Pending:
1) Test Name
No reason given
 

युग्म

  • एक xdescribe () के भीतर एक xit () xit () प्रतिक्रिया का उत्पादन करेगा।
  • एक xitcribe () के भीतर एक xit () अभी भी लंबित माना जाएगा।
  • एक xdescribe () के भीतर एक फिट () अभी भी चलेगा, और कोई भी लंबित परीक्षण कुछ भी आउटपुट नहीं करेगा।

प्रोट्रेक्टर: एंटरप्राइज़ कोणीय अनुप्रयोगों के लिए E2E परीक्षण

रक्षक स्थापना और सेटअप

स्टेप 1 : यहां से NodeJS डाउनलोड और इंस्टॉल करें। सुनिश्चित करें कि आपके पास नोड का नवीनतम संस्करण है। यहां, मैं नोड v7.8.0 का उपयोग कर रहा हूं। सेलेनियम को चलाने के लिए आपको जावा डेवलपमेंट किट (JDK) स्थापित करना होगा।

चरण 2 : अपने टर्मिनल को खोलें और विश्व स्तर पर प्रोट्रेक्टर स्थापित करने के लिए निम्न कमांड में टाइप करें।

npm install -g protractor
 

यह प्रोट्रैक्टर और वेबड्राइवर मैनेजर जैसे दो टूल इंस्टॉल करेगा। आप अपने protractor –version. इंस्टॉलेशन को कमांड का पालन करके सत्यापित कर सकते हैं: protractor –version. यदि प्रोटेक्टर सफलतापूर्वक स्थापित किया गया है, तो सिस्टम इंस्टॉल किए गए संस्करण को प्रदर्शित करेगा। (अर्थात संस्करण 5.1.1)। अन्यथा आपको इंस्टॉलेशन को रीचेक करना होगा। चरण 3: आवश्यक बायनेरिज़ डाउनलोड करने के लिए वेबड्राइवर प्रबंधक को अपडेट करें।

webdriver-manager update
 

चरण 4: निम्नलिखित आदेश एक सेलेनियम सर्वर शुरू करेगा। यह चरण वेब ड्राइवर प्रबंधक को पृष्ठभूमि में चलाएगा और किसी भी परीक्षण को सुनेगा जो प्रोट्रैक्टर से चलता है।

webdriver-manager start आप सर्वर की स्थिति के बारे में जानकारी http://localhost:4444/wd/hub/static/resource/hub.html.

प्रोट्रैक्टर का उपयोग करके पहला टेस्ट केस लिखना:

टेस्ट केस लिखने में कूदने से पहले, हमें दो फाइलें तैयार करनी होंगी जो कि कॉन्फ़िगरेशन फ़ाइल और कल्पना फ़ाइल है।

कॉन्फ़िगरेशन फ़ाइल में:

//In conf.js
exports.config = {
    baseUrl: ‘http://localhost:8800/adminapp’,
    seleniumAddress: ‘http://localhost:4444/wd/hub',
    specs: [‘product/product_test.js’],
    directConnect : true,
    capabilities :{
        browserName: ‘chrome’
    }
}
 

कॉन्फ़िगरेशन फ़ाइल में प्रयुक्त शब्दावली की बुनियादी समझ:

baseUrl - परीक्षण के तहत आपके आवेदन के लिए एक आधार URL।

seleniumAddress - एक सेलेनियम सर्वर से कनेक्ट करने के लिए जो पहले से चल रहा है।

चश्मा - आपकी कल्पना फ़ाइल का स्थान

DirectConnect : true - ब्राउज़र ड्राइवर्स से सीधे कनेक्ट होने के लिए।

क्षमताओं - यदि आप किसी एकल ब्राउज़र पर परीक्षण कर रहे हैं, तो क्षमताओं के विकल्प का उपयोग करें। यदि आप कई ब्राउज़रों पर परीक्षण कर रहे हैं, तो मल्टीप्लेबिलिटीज सरणी का उपयोग करें।

आप यहां से अधिक कॉन्फ़िगरेशन विकल्प पा सकते हैं। उन्होंने इसकी परिभाषा के साथ सभी संभव शब्दावली का वर्णन किया है।

विशेष फ़ाइल में:

//In product_test.js

    describe(‘Angular Enterprise Boilerplate’, function() {
      it('should have a title', function() {
        browser.get('http://localhost:8800/adminapp’);
        expect(browser.getTitle()).toEqual(‘Angular Enterprise Boilerplate’);
      });
    });
 

कल्पना फ़ाइल में प्रयुक्त शब्दावली की बुनियादी समझ:

डिफ़ॉल्ट रूप से, प्रोट्रैक्टर अपने परीक्षण इंटरफ़ेस के लिए चमेली ढांचे का उपयोग करता है। 'वर्णन' और 'यह' वाक्य-विन्यास चमेली ढांचे से है। आप यहां से अधिक जान सकते हैं। पहला टेस्ट रनिंग केस:

टेस्ट केस चलाने से पहले यह सुनिश्चित कर लें कि आपका वेबड्राइवर मैनेजर और आपके एप्लिकेशन आपके टर्मिनल के विभिन्न टैब में चल रहा है।

अब, परीक्षण के साथ चलाएँ:

Protractor app/conf.js
 

आपको देखना चाहिए कि क्रोम ब्राउज़र आपके एप्लिकेशन url के साथ खुलता है और खुद को बंद करता है। परीक्षण आउटपुट में 1 परीक्षण, 1 अभिकथन, 0 विफलताएं होनी चाहिए।

वाहवाही! आप सफलतापूर्वक अपना पहला परीक्षण केस चलाते हैं।

चुनिंदा रनिंग टेस्ट

प्रोट्रैक्टर चुनिंदा विवरणों () के बजाय fdescribe () का उपयोग करके परीक्षणों के समूह चला सकता है।

fdescribe('first group',()=>{
    it('only this test will run',()=>{
        //code that will run
    });
});
describe('second group',()=>{
    it('this code will not run',()=>{
        //code that won't run
    });
});
 

प्रोट्रैक्टर चुनिंदा समूहों में इसके बजाय फिट () का उपयोग करके परीक्षण चला सकता है।

describe('first group',()=>{
    fit('only this test will run',()=>{
        //code that will run
    });
    it('this code will not run',()=>{
        //code that won't run
    });
});
 

यदि एक fadescribe () के भीतर कोई फिट () नहीं है, तो हर () चलेगा। हालांकि, एक फिट () इसे उसी विवरण () या फ़ेसडाइज़ () के भीतर ब्लॉक करेगा।

fdescribe('first group',()=>{
    fit('only this test will run',()=>{
        //code that will run
    });
    it('this code will not run',()=>{
        //code that won't run
    });
});
 

यहां तक कि अगर एक फिट () एक विवरण () के बजाय एक वर्णन () में है, तो यह चलेगा। इसके अलावा, किसी भी () एक fdescribe () के भीतर जिसमें एक फिट नहीं है () चलेगा।

fdescribe('first group',()=>{
    it('this test will run',()=>{
        //code that will run
    });
    it('this test will also run',()=>{
        //code that will also run
    });
});
describe('second group',()=>{
    it('this code will not run',()=>{
        //code that won't run
    });
    fit('this code will run',(){
        //code that will run
    });
});
 

प्रोटेक्टर टेस्ट लिखें

एक नई कमांड लाइन या टर्मिनल विंडो खोलें और परीक्षण के लिए एक साफ फ़ोल्डर बनाएं।

प्रोटेक्टर को चलाने के लिए दो फ़ाइलों की आवश्यकता होती है, एक कल्पना फ़ाइल और एक कॉन्फ़िगरेशन फ़ाइल।

आइए एक सरल परीक्षण से शुरू करें जो एंगुलरजेएस वेबसाइट में टूडू सूची उदाहरण के लिए नेविगेट करता है और सूची में एक नया टूडू आइटम जोड़ता है।

निम्नलिखित को spec.js में कॉपी करें

('angularjs होमपेज todo list', function () {it ('todo जोड़ना चाहिए, फ़ंक्शन () {browser.get (' https://angularjs.org ') का वर्णन करें ;

element(by.model('todoList.todoText')).sendKeys('write first protractor test');
element(by.css('[value="add"]')).click();

var todoList = element.all(by.repeater('todo in todoList.todos'));
expect(todoList.count()).toEqual(3);
expect(todoList.get(2).getText()).toEqual('write first protractor test');

// You wrote your first test, cross it off the list
todoList.get(2).element(by.css('input')).click();
var completedAmount = element.all(by.css('.done-true'));
expect(completedAmount.count()).toEqual(2);});});