डेटा-संचालित परीक्षण एक शक्तिशाली दृष्टिकोण है जो आपको डेटा के कई सेटों के साथ एक ही परीक्षण चलाने की अनुमति देता है। यह विधि विभिन्न इनपुट संयोजनों के साथ एप्लिकेशन व्यवहार को सत्यापित करने, विभिन्न परिदृश्यों की संपूर्ण कवरेज सुनिश्चित करने के लिए विशेष रूप से उपयोगी है। इस पोस्ट में, हम यह पता लगाएंगे कि कुशल और रखरखाव योग्य परीक्षण बनाने के लिए इसकी क्षमताओं का लाभ उठाते हुए, साइप्रस में डेटा-संचालित परीक्षण कैसे लागू किया जाए।
डेटा-संचालित परीक्षण में परीक्षण तर्क को परीक्षण डेटा से अलग करना शामिल है, जिससे परीक्षणों को विभिन्न इनपुट के साथ कई बार निष्पादित किया जा सकता है। यह दृष्टिकोण किनारे के मामलों की पहचान करने, व्यावसायिक तर्क को मान्य करने और यह सुनिश्चित करने में मदद करता है कि एप्लिकेशन डेटा की एक विस्तृत श्रृंखला को सही ढंग से संभालता है।
साइप्रेस डेटा-संचालित परीक्षण को लागू करने के कई तरीके प्रदान करता है, जिसमें सरणियों, फिक्स्चर और बाहरी पुस्तकालयों का उपयोग शामिल है। आइए उदाहरणों के साथ इन तरीकों का पता लगाएं।
1. सारणियों का उपयोग करना
आप परीक्षण डेटा के विभिन्न सेटों को संग्रहीत करने और forEach विधि का उपयोग करके उन पर पुनरावृति करने के लिए सरणियों का उपयोग कर सकते हैं।
उदाहरण:
const testData = [ { username: 'user1', password: 'password1' }, { username: 'user2', password: 'password2' }, { username: 'user3', password: 'password3' } ]; describe('Data-Driven Testing with Arrays', () => { testData.forEach((data) => { it(`should log in successfully with username: ${data.username}`, () => { cy.visit('/login'); cy.get('input[name="username"]').type(data.username); cy.get('input[name="password"]').type(data.password); cy.get('button[type="submit"]').click(); cy.url().should('include', '/dashboard'); }); }); });
2. फिक्स्चर का उपयोग करना
फिक्स्चर बाहरी फ़ाइलें हैं जो परीक्षण डेटा को JSON प्रारूप में संग्रहीत करती हैं। साइप्रस आपको फिक्सचर फ़ाइलें लोड करने और अपने परीक्षणों में डेटा का उपयोग करने की अनुमति देता है।
उदाहरण:
[ { "username": "user1", "password": "password1" }, { "username": "user2", "password": "password2" }, { "username": "user3", "password": "password3" } ]
describe('Data-Driven Testing with Fixtures', () => { before(() => { cy.fixture('users').then(function (data) { this.users = data; }); }); it('should log in successfully with multiple users', function () { this.users.forEach((user) => { cy.visit('/login'); cy.get('input[name="username"]').type(user.username); cy.get('input[name="password"]').type(user.password); cy.get('button[type="submit"]').click(); cy.url().should('include', '/dashboard'); cy.visit('/logout'); // Log out after each login }); }); });
3. बाहरी पुस्तकालयों का उपयोग करना
अधिक जटिल डेटा-संचालित परीक्षण परिदृश्यों के लिए, आप साइप्रस-प्लगइन-स्नैपशॉट या साइप्रस-डेटा-संचालित जैसी बाहरी लाइब्रेरी का उपयोग कर सकते हैं।
सरू-डेटा-संचालित उदाहरण:
npm install cypress-data-driven --save-dev
import dataDriven from 'cypress-data-driven'; const testData = [ { username: 'user1', password: 'password1', expectedUrl: '/dashboard1' }, { username: 'user2', password: 'password2', expectedUrl: '/dashboard2' }, { username: 'user3', password: 'password3', expectedUrl: '/dashboard3' } ]; describe('Data-Driven Testing with External Library', () => { dataDriven(testData).forEach((data) => { it(`should log in successfully with username: ${data.username}`, () => { cy.visit('/login'); cy.get('input[name="username"]').type(data.username); cy.get('input[name="password"]').type(data.password); cy.get('button[type="submit"]').click(); cy.url().should('include', data.expectedUrl); }); }); });
डेटा-संचालित परीक्षण एक मूल्यवान दृष्टिकोण है जो परीक्षण कवरेज, रखरखाव और दक्षता को बढ़ाता है। साइप्रस की क्षमताओं का लाभ उठाकर और सरणियों, फिक्स्चर, या बाहरी पुस्तकालयों का उपयोग करके, आप मजबूत डेटा-संचालित परीक्षण लागू कर सकते हैं जो सुनिश्चित करते हैं कि आपका एप्लिकेशन इनपुट की एक विस्तृत श्रृंखला को सही ढंग से संभालता है। सर्वोत्तम प्रथाओं का पालन करके, आप अपने परीक्षणों की विश्वसनीयता और प्रभावशीलता में और सुधार कर सकते हैं।
खुश परीक्षण!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3