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

एक समय में साइप्रस रन और साइप्रस ओपन कैसे चलाएं

2024-11-09 को प्रकाशित
ब्राउज़ करें:762

How to run cypress run and cypress open at a time
साइप्रस वेब अनुप्रयोगों के लिए बनाया गया एक मजबूत एंड-टू-एंड परीक्षण ढांचा है। इसे परीक्षण को सरल और विश्वसनीय बनाने के लिए डिज़ाइन किया गया है, जिससे डेवलपर्स और QA इंजीनियरों को सरल इंटरैक्शन से लेकर जटिल उपयोगकर्ता वर्कफ़्लो तक हर चीज़ का परीक्षण करने की अनुमति मिलती है। साइप्रस के साथ, आप ऐसे परीक्षण बना सकते हैं जो उपयोगकर्ता के कार्यों का अनुकरण करते हैं, फ्रंट-एंड व्यवहार को सत्यापित करते हैं, और न्यूनतम सेटअप के साथ यूआई कार्यक्षमता सुनिश्चित करते हैं।

सरू का उपयोग किस लिए किया जाता है?

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

  • उपयोगकर्ता प्रवाह को स्वचालित करना: प्रमाणीकरण, फॉर्म सबमिशन और ई-कॉमर्स लेनदेन जैसे जटिल उपयोगकर्ता प्रवाह का परीक्षण करें।

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

  • प्रतिगमन परीक्षण: अपने परीक्षण मामलों को स्वचालित करके, आप तुरंत सत्यापित कर सकते हैं कि नए कोड परिवर्तनों में बग नहीं आए हैं।

  • यूआई घटक परीक्षण: साइप्रस का उपयोग स्टोरीबुक जैसे उपकरणों के साथ अलगाव में फ्रंट-एंड घटकों को मान्य करने के लिए किया जा सकता है, यह सुनिश्चित करते हुए कि वे विभिन्न परिदृश्यों में अपेक्षित प्रदर्शन करते हैं।

सइप्रेस एक शक्तिशाली डैशबोर्ड और सीएलआई प्रदान करता है जो सीआई/सीडी पाइपलाइनों में निर्बाध एकीकरण की अनुमति देता है, जिससे यह आधुनिक वेब विकास में स्वचालित, निरंतर परीक्षण के लिए एक पसंदीदा विकल्प बन जाता है।

साइप्रस के साथ चल रहे परीक्षण

साइप्रस में परीक्षण दो मुख्य तरीकों से चलाए जा सकते हैं: टेस्ट रनर (जीयूआई) और कमांड-लाइन इंटरफ़ेस (सीएलआई) का उपयोग करना।

यहां दोनों तरीकों के लिए एक त्वरित मार्गदर्शिका दी गई है:

टेस्ट रनर (जीयूआई) का उपयोग करना:

साइप्रेस रियल वर्ल्ड ऐप के साथ इंटरैक्टिव रूप से साइप्रस टेस्ट रनर का उपयोग करने के लिए, इन चरणों का पालन करें। यह ऐप उपयोगकर्ता साइनअप, लॉगिन और लेनदेन प्रवाह के परिदृश्यों के साथ कार्रवाई में साइप्रस परीक्षणों का एक ठोस उदाहरण प्रदान करता है।

आइए एक उदाहरण के रूप में साइप्रस के नमूना ऐप "साइप्रस रियल वर्ल्ड ऐप" को लें।

स्थानीय रूप से साइप्रस रियल वर्ल्ड ऐप सेट अप करें और चलाएं:

नमूना ऐप सेट करने के लिए ये शुरुआती चरण हैं

git clone https://github.com/cypress-io/cypress-realworld-app
cd cypress-realworld-app
yarn

//run the app
yarn dev

ओपन साइप्रस टेस्ट रनर:

अब, साइप्रेस टेस्ट रनर को इंटरैक्टिव मोड में खोलने के लिए:

आदेश चलाएँ:

npx cypress open

यह साइप्रस टेस्ट रनर जीयूआई लॉन्च करेगा, जहां आप चलाने के लिए परीक्षण देख और चुन सकते हैं।

How to run cypress run and cypress open at a time

E2E पर क्लिक करने पर आप यह डैशबोर्ड देख सकते हैं जिसमें cypress/tests के अंतर्गत परीक्षणों की पूरी सूची है।

How to run cypress run and cypress open at a time

आइए cypress/tests/ui/custom.spec.ts के अंतर्गत हमारी निर्देशिका में कस्टम.spec.ts नामक एक नया परीक्षण बनाएं

describe("User Sign-up and Login", function () {
    beforeEach(function () {
      // Seed the database before each test
      cy.task("db:seed");

      // Intercept signup and login API calls
      cy.intercept("POST", "/users").as("signup");
      cy.intercept("POST", "/graphql").as("gqlRequests");
    });

    it("should redirect unauthenticated user to signin page", function () {
      cy.visit("/personal");
      cy.location("pathname").should("equal", "/signin");
    });

    it("should allow a visitor to sign-up, login, and logout", function () {
        const userInfo = {
          firstName: "Bob",
          lastName: "Ross",
          username: "PainterJoy90",
          password: "s3cret",
        };

      // Sign-up User
      cy.visit("/signup");

      cy.getBySel("signup-first-name").type(userInfo.firstName);
      cy.getBySel("signup-last-name").type(userInfo.lastName);
      cy.getBySel("signup-username").type(userInfo.username);
      cy.getBySel("signup-password").type(userInfo.password);
      cy.getBySel("signup-confirmPassword").type(userInfo.password);
      cy.visualSnapshot("About to Sign Up");
      cy.getBySel("signup-submit").click();
      cy.wait("@signup");

      // Login User
      cy.visit("/signin");
      cy.login(userInfo.username, userInfo.password);


      // Verify successful login
      cy.location("pathname").should("equal", "/");
  1. सेटअप (प्रत्येक से पहले): प्रत्येक परीक्षण से पहले, डेटाबेस को एक सुसंगत स्थिति के साथ शुरू किया जाता है, और साइनअप और ग्राफक्यूएल अनुरोधों के लिए एपीआई कॉल को निगरानी के लिए इंटरसेप्ट किया जाता है।

  2. परीक्षण:

* **Redirect for Unauthenticated User**: Checks if an unauthenticated user visiting a restricted page (`/personal`) is redirected to the `/signin` page.

* **Sign-up, Login**: A new user is signed up, logged in, and logged out. The test verifies the user can register, sign in by being redirected to `/signin`.

प्रत्येक परीक्षण सुरक्षित और उपयोगकर्ता के अनुकूल खाता प्रबंधन के लिए महत्वपूर्ण कार्यक्षमता सुनिश्चित करता है।

नोट: इसमें एक साइनआउट और उपयोगकर्ता नाम गलत प्रवाह जोड़ने का प्रयास करें

How to run cypress run and cypress open at a time

सीएलआई से परीक्षण चलाना:

सीआई वातावरण में या बैच परीक्षण निष्पादन के लिए, सीएलआई एक सुव्यवस्थित दृष्टिकोण प्रदान करता है। सभी परीक्षण चलाएँ या अलग-अलग परीक्षण फ़ाइलें निर्दिष्ट करें:

npx cypress run
npx cypress run --spec "cypress/tests/ui/custom.spec.ts"

How to run cypress run and cypress open at a time

सरू के फायदे

साइप्रस अपने तेज़ निष्पादन, सेटअप में आसानी और शक्तिशाली परीक्षण सुविधाओं के लिए जाना जाता है। यहां कुछ शीर्ष लाभ दिए गए हैं:

  • रीयल-टाइम रीलोड और इंटरैक्टिव परीक्षण: साइप्रस परिवर्तन किए जाने पर परीक्षणों को पुनः लोड करके त्वरित प्रतिक्रिया प्रदान करता है, जिससे डेवलपर्स को ऐप के व्यवहार के बारे में तत्काल जानकारी मिलती है।

  • फ्लेक-मुक्त परीक्षण: अपनी अनूठी वास्तुकला के लिए धन्यवाद, साइप्रस परीक्षणों में परत को कम करता है, जिससे आपके परीक्षण परिणाम अधिक विश्वसनीय हो जाते हैं।

  • स्वचालित प्रतीक्षा: साइप्रस तत्वों के लोड होने, प्रतिक्रिया देने और रेंडर होने की प्रतीक्षा करता है, इसलिए आपको स्पष्ट प्रतीक्षा जोड़ने की आवश्यकता नहीं है।

  • अंतर्निहित दावे और मॉकिंग: साइप्रस एपीआई प्रतिक्रियाओं का मॉकिंग करने और उपयोगकर्ता इंटरैक्शन का अनुकरण करने के लिए दावों और उपकरणों के एक समृद्ध सेट के साथ आता है।

जैसे साइप्रस उपयोगकर्ता इंटरैक्शन को स्वचालित करके कुशल ई2ई परीक्षण का समर्थन करता है, केप्लॉय बैकएंड पर ध्यान केंद्रित करके परीक्षण में एक शक्तिशाली आयाम लाता है।

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

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

How to run cypress run and cypress open at a time

  • स्वचालित परीक्षण प्लेटफ़ॉर्म: केप्लॉय बैकएंड सेवाओं, विशेष रूप से एपीआई और डेटाबेस इंटरैक्शन के लिए स्वचालित रूप से परीक्षण उत्पन्न करने पर ध्यान केंद्रित करता है।

  • कैप्चर और रीप्ले: केप्लॉय वास्तविक दुनिया के ट्रैफ़िक को कैप्चर करता है और इसे परीक्षण वातावरण में दोबारा चलाता है, जिससे वास्तविक जीवन के परीक्षण मामले बनते हैं।

  • नो-कोड टेस्ट जेनरेशन: आसानी के लिए डिज़ाइन किया गया, यह कस्टम स्क्रिप्ट की आवश्यकता के बिना परीक्षण उत्पन्न करता है।

केप्लॉय के साथ E2E परीक्षण:

  • एपीआई-सेंट्रिक ई2ई परीक्षण: बैकएंड घटकों के लिए एंड-टू-एंड परीक्षण को स्वचालित करता है, यह सुनिश्चित करता है कि बैकएंड कार्यक्षमता एक इकाई के रूप में सत्यापित है।

  • त्रुटि का पता लगाना और दोबारा चलाना: एपीआई अनुरोधों/प्रतिक्रियाओं को कैप्चर करता है, इंटरैक्शन को दोबारा चलाता है, और प्रतिगमन का जल्दी पता लगाता है।

  • संगत डेटा सत्यापन: सभी तैनाती में सटीकता सुनिश्चित करते हुए, डेटा प्रवाह में प्रतिक्रियाओं और परिवर्तनों को ट्रैक करता है।

  • निर्बाध एकीकरण: आसानी से सीआई/सीडी पाइपलाइनों के साथ एकीकृत होता है, जिससे टीमों को बैकएंड परिवर्तनों पर ई2ई जांच स्वचालित करने में मदद मिलती है।

इस स्थान में कई उपकरण हैं, इनमें से प्रत्येक उपकरण विभिन्न प्रकार के परीक्षण वातावरणों के लिए उपयुक्त क्षमताएं प्रदान करता है, कठपुतली में ब्राउज़र-विशिष्ट परीक्षणों से लेकर प्लेराइट और सेलेनियम में क्रॉस-ब्राउज़र संगतता तक।

सही उपकरण चुनना अंततः आपकी परीक्षण आवश्यकताओं और एप्लिकेशन आवश्यकताओं पर निर्भर करता है।

अक्सर पूछे जाने वाले प्रश्न

क्या साइप्रस का उपयोग बैकएंड परीक्षण के लिए किया जा सकता है?

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

क्या साइप्रस क्रॉस-ब्राउज़र परीक्षण का समर्थन करता है?

हां, साइप्रस क्रोम, एज और फ़ायरफ़ॉक्स का समर्थन करता है। हालाँकि, सेलेनियम या प्लेराइट जैसे टूल की तुलना में इसका समर्थन सीमित है, जो व्यापक क्रॉस-ब्राउज़र अनुकूलता प्रदान करते हैं।

साइप्रस एपीआई परीक्षण को कैसे संभालता है?

सरू सीधे परीक्षण कोड से HTTP अनुरोध करके एपीआई परीक्षण कर सकता है। आप एपीआई प्रतिक्रियाओं को मान्य करने के लिए cy.request() का उपयोग कर सकते हैं, जिससे समान एंड-टू-एंड परीक्षण ढांचे के भीतर एपीआई का परीक्षण करना आसान हो जाता है।

मैं साइप्रस के असफल परीक्षणों को कैसे डीबग कर सकता हूं?

साइप्रेस डिफ़ॉल्ट रूप से विस्तृत लॉग और स्क्रीनशॉट प्रदान करता है, और टेस्ट रनर आपको अपने परीक्षणों के साथ दृश्य रूप से बातचीत करने की अनुमति देता है। आप असफल परीक्षणों को अलग करने के लिए .only जोड़ सकते हैं, निष्पादन रोकने के लिए cy.pause() का उपयोग कर सकते हैं, और आगे डिबगिंग के लिए Chrome DevTools का उपयोग कर सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/keploy/how-to-run-cypress-run-and-cypress-open-at-a-time-48o0?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग से संपर्क करें @163.com हटाएं
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3