"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > साइप्रस में कस्टम कमांड के लिए सर्वोत्तम अभ्यास: एक विस्तृत गाइड

साइप्रस में कस्टम कमांड के लिए सर्वोत्तम अभ्यास: एक विस्तृत गाइड

2024-07-30 को प्रकाशित
ब्राउज़ करें:899

Best Practices for Custom Commands in Cypress: A Detailed Guide

परिचय

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

सर्वोत्तम प्रथाएँ क्यों मायने रखती हैं?

कस्टम कमांड बनाते समय सर्वोत्तम प्रथाओं का पालन करने से यह सुनिश्चित होता है कि आपके परीक्षण स्केलेबल, समझने में आसान और त्वरित रूप से अपडेट होने वाले हैं। उचित रूप से संरचित कस्टम कमांड कोड दोहराव को काफी कम कर सकते हैं और आपके परीक्षण सूट की समग्र गुणवत्ता में सुधार कर सकते हैं।

कस्टम कमांड के लिए सर्वोत्तम अभ्यास

1. नाम आदेश स्पष्ट रूप से
स्पष्ट और वर्णनात्मक नाम आपके आदेशों को समझने और उपयोग करने में आसान बनाते हैं। एक अच्छे कमांड नाम को अतिरिक्त संदर्भ की आवश्यकता के बिना अपना उद्देश्य बताना चाहिए।
उदाहरण:

// cypress/support/commands.js
Cypress.Commands.add('login', (email, password) => {
  cy.visit('/login');
  cy.get('input[name=email]').type(email);
  cy.get('input[name=password]').type(password);
  cy.get('button[type=submit]').click();
});

उपयोग:

// cypress/integration/login.spec.js
describe('Login Tests', () => {
  it('Should login with valid credentials', () => {
    cy.login('[email protected]', 'password123');
    cy.url().should('include', '/dashboard');
  });
});

2. पैरामीटराइज़ कमांड
कमांड को अपने लचीलेपन और पुन: प्रयोज्यता को बढ़ाने के लिए मापदंडों को स्वीकार करना चाहिए। यह एक ही कमांड को अलग-अलग संदर्भों में अलग-अलग डेटा के साथ उपयोग करने की अनुमति देता है।

उदाहरण:

// cypress/support/commands.js
Cypress.Commands.add('fillForm', (formData) => {
  cy.get('input[name=firstName]').type(formData.firstName);
  cy.get('input[name=lastName]').type(formData.lastName);
  cy.get('input[name=email]').type(formData.email);
  cy.get('button[type=submit]').click();
});

उपयोग:

// cypress/integration/form.spec.js
describe('Form Tests', () => {
  it('Should submit the form with valid data', () => {
    const formData = {
      firstName: 'John',
      lastName: 'Doe',
      email: '[email protected]'
    };
    cy.fillForm(formData);
    cy.get('.success-message').should('be.visible');
  });
});

3. चेन कमांड
सुनिश्चित करें कि कस्टम कमांड साइप्रस चेनेबल्स को चेनिंग सक्षम करने और साइप्रस कमांड के प्रवाह को बनाए रखने के लिए cy.wrap() का उपयोग करके लौटाएं।

उदाहरण:

// cypress/support/commands.js
Cypress.Commands.add('selectDropdown', (selector, value) => {
  cy.get(selector).select(value).should('have.value', value);
  return cy.wrap(value);
});

उपयोग:

// cypress/integration/dropdown.spec.js
describe('Dropdown Tests', () => {
  it('Should select a value from the dropdown', () => {
    cy.visit('/dropdown-page');
    cy.selectDropdown('#dropdown', 'Option 1').then((value) => {
      expect(value).to.equal('Option 1');
    });
  });
});

4. दस्तावेज़ कमांड
अपने कस्टम कमांड के उद्देश्य और उपयोग का वर्णन करने के लिए उनमें टिप्पणियाँ जोड़ें। इससे अन्य डेवलपर्स को आपके कोड को समझने और उसका सही ढंग से उपयोग करने में मदद मिलती है।

उदाहरण:

// cypress/support/commands.js

/**
 * Custom command to login to the application
 * @param {string} email - User email
 * @param {string} password - User password
 */
Cypress.Commands.add('login', (email, password) => {
  cy.visit('/login');
  cy.get('input[name=email]').type(email);
  cy.get('input[name=password]').type(password);
  cy.get('button[type=submit]').click();
});

5. सामान्य क्रियाओं को मॉड्यूलराइज़ करें
पुन: उपयोग को बढ़ावा देने और दोहराव को कम करने के लिए कस्टम कमांड के भीतर सामान्य क्रियाओं को समाहित करें। यह जटिल अंतःक्रियाओं का सार निकालकर परीक्षणों को अधिक पठनीय बनाता है।

उदाहरण:

// cypress/support/commands.js
Cypress.Commands.add('addItemToCart', (itemName) => {
  cy.get('.product-list').contains(itemName).click();
  cy.get('.add-to-cart').click();
});

उपयोग:

// cypress/integration/cart.spec.js
describe('Cart Tests', () => {
  it('Should add an item to the cart', () => {
    cy.visit('/shop');
    cy.addItemToCart('Laptop');
    cy.get('.cart-items').should('contain', 'Laptop');
  });
});

निष्कर्ष

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

आज ही अपने कस्टम कमांड को परिष्कृत करना शुरू करें, और अपने साइप्रस परीक्षणों को अगले स्तर पर ले जाएं। शुभ परीक्षण!

विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/asvani25/best-practices-for-custom-commands-in-cypress-a-detailed-guide-cl2?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 से संपर्क करें इसे हटाने के लिए .com
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3