साइप्रस वेब अनुप्रयोगों के लिए बनाया गया एक मजबूत एंड-टू-एंड परीक्षण ढांचा है। इसे परीक्षण को सरल और विश्वसनीय बनाने के लिए डिज़ाइन किया गया है, जिससे डेवलपर्स और QA इंजीनियरों को सरल इंटरैक्शन से लेकर जटिल उपयोगकर्ता वर्कफ़्लो तक हर चीज़ का परीक्षण करने की अनुमति मिलती है। साइप्रस के साथ, आप ऐसे परीक्षण बना सकते हैं जो उपयोगकर्ता के कार्यों का अनुकरण करते हैं, फ्रंट-एंड व्यवहार को सत्यापित करते हैं, और न्यूनतम सेटअप के साथ यूआई कार्यक्षमता सुनिश्चित करते हैं।
साइप्रस का उपयोग मुख्य रूप से वेब अनुप्रयोगों में एंड-टू-एंड परीक्षण के लिए किया जाता है, लेकिन यह फ्रंट-एंड वातावरण में एकीकरण और यूनिट परीक्षण के लिए भी प्रभावी है। यहां कुछ सामान्य उपयोग के मामले दिए गए हैं:
उपयोगकर्ता प्रवाह को स्वचालित करना: प्रमाणीकरण, फॉर्म सबमिशन और ई-कॉमर्स लेनदेन जैसे जटिल उपयोगकर्ता प्रवाह का परीक्षण करें।
उत्तरदायी डिजाइन का परीक्षण: साइप्रस विभिन्न व्यूपोर्ट आकारों में परीक्षण की अनुमति देता है, जो इसे प्रतिक्रियाशील डिजाइन परीक्षण के लिए आदर्श बनाता है।
प्रतिगमन परीक्षण: अपने परीक्षण मामलों को स्वचालित करके, आप तुरंत सत्यापित कर सकते हैं कि नए कोड परिवर्तनों में बग नहीं आए हैं।
यूआई घटक परीक्षण: साइप्रस का उपयोग स्टोरीबुक जैसे उपकरणों के साथ अलगाव में फ्रंट-एंड घटकों को मान्य करने के लिए किया जा सकता है, यह सुनिश्चित करते हुए कि वे विभिन्न परिदृश्यों में अपेक्षित प्रदर्शन करते हैं।
सइप्रेस एक शक्तिशाली डैशबोर्ड और सीएलआई प्रदान करता है जो सीआई/सीडी पाइपलाइनों में निर्बाध एकीकरण की अनुमति देता है, जिससे यह आधुनिक वेब विकास में स्वचालित, निरंतर परीक्षण के लिए एक पसंदीदा विकल्प बन जाता है।
साइप्रस में परीक्षण दो मुख्य तरीकों से चलाए जा सकते हैं: टेस्ट रनर (जीयूआई) और कमांड-लाइन इंटरफ़ेस (सीएलआई) का उपयोग करना।
यहां दोनों तरीकों के लिए एक त्वरित मार्गदर्शिका दी गई है:
साइप्रेस रियल वर्ल्ड ऐप के साथ इंटरैक्टिव रूप से साइप्रस टेस्ट रनर का उपयोग करने के लिए, इन चरणों का पालन करें। यह ऐप उपयोगकर्ता साइनअप, लॉगिन और लेनदेन प्रवाह के परिदृश्यों के साथ कार्रवाई में साइप्रस परीक्षणों का एक ठोस उदाहरण प्रदान करता है।
आइए एक उदाहरण के रूप में साइप्रस के नमूना ऐप "साइप्रस रियल वर्ल्ड ऐप" को लें।
स्थानीय रूप से साइप्रस रियल वर्ल्ड ऐप सेट अप करें और चलाएं:
नमूना ऐप सेट करने के लिए ये शुरुआती चरण हैं
git clone https://github.com/cypress-io/cypress-realworld-app cd cypress-realworld-app yarn //run the app yarn dev
ओपन साइप्रस टेस्ट रनर:
अब, साइप्रेस टेस्ट रनर को इंटरैक्टिव मोड में खोलने के लिए:
आदेश चलाएँ:
npx cypress open
यह साइप्रस टेस्ट रनर जीयूआई लॉन्च करेगा, जहां आप चलाने के लिए परीक्षण देख और चुन सकते हैं।
E2E पर क्लिक करने पर आप यह डैशबोर्ड देख सकते हैं जिसमें cypress/tests के अंतर्गत परीक्षणों की पूरी सूची है।
आइए 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", "/");
सेटअप (प्रत्येक से पहले): प्रत्येक परीक्षण से पहले, डेटाबेस को एक सुसंगत स्थिति के साथ शुरू किया जाता है, और साइनअप और ग्राफक्यूएल अनुरोधों के लिए एपीआई कॉल को निगरानी के लिए इंटरसेप्ट किया जाता है।
परीक्षण:
* **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`.
प्रत्येक परीक्षण सुरक्षित और उपयोगकर्ता के अनुकूल खाता प्रबंधन के लिए महत्वपूर्ण कार्यक्षमता सुनिश्चित करता है।
नोट: इसमें एक साइनआउट और उपयोगकर्ता नाम गलत प्रवाह जोड़ने का प्रयास करें
सीआई वातावरण में या बैच परीक्षण निष्पादन के लिए, सीएलआई एक सुव्यवस्थित दृष्टिकोण प्रदान करता है। सभी परीक्षण चलाएँ या अलग-अलग परीक्षण फ़ाइलें निर्दिष्ट करें:
npx cypress run
npx cypress run --spec "cypress/tests/ui/custom.spec.ts"
साइप्रस अपने तेज़ निष्पादन, सेटअप में आसानी और शक्तिशाली परीक्षण सुविधाओं के लिए जाना जाता है। यहां कुछ शीर्ष लाभ दिए गए हैं:
रीयल-टाइम रीलोड और इंटरैक्टिव परीक्षण: साइप्रस परिवर्तन किए जाने पर परीक्षणों को पुनः लोड करके त्वरित प्रतिक्रिया प्रदान करता है, जिससे डेवलपर्स को ऐप के व्यवहार के बारे में तत्काल जानकारी मिलती है।
फ्लेक-मुक्त परीक्षण: अपनी अनूठी वास्तुकला के लिए धन्यवाद, साइप्रस परीक्षणों में परत को कम करता है, जिससे आपके परीक्षण परिणाम अधिक विश्वसनीय हो जाते हैं।
स्वचालित प्रतीक्षा: साइप्रस तत्वों के लोड होने, प्रतिक्रिया देने और रेंडर होने की प्रतीक्षा करता है, इसलिए आपको स्पष्ट प्रतीक्षा जोड़ने की आवश्यकता नहीं है।
अंतर्निहित दावे और मॉकिंग: साइप्रस एपीआई प्रतिक्रियाओं का मॉकिंग करने और उपयोगकर्ता इंटरैक्शन का अनुकरण करने के लिए दावों और उपकरणों के एक समृद्ध सेट के साथ आता है।
जैसे साइप्रस उपयोगकर्ता इंटरैक्शन को स्वचालित करके कुशल ई2ई परीक्षण का समर्थन करता है, केप्लॉय बैकएंड पर ध्यान केंद्रित करके परीक्षण में एक शक्तिशाली आयाम लाता है।
सरू फ्रंटएंड और उपयोगकर्ता अनुभव को सत्यापित करने में चमकता है, जबकि केप्लॉय अतिरिक्त स्क्रिप्टिंग की आवश्यकता के बिना स्वचालित रूप से एपीआई परीक्षण उत्पन्न और बनाए रखकर इसे पूरक करता है।
केप्लॉय वास्तविक दुनिया की बातचीत को कैप्चर करने और उन्हें निष्पादन योग्य परीक्षणों में बदलने, एप्लिकेशन स्केल के रूप में बैकएंड स्थिरता और डेटा विश्वसनीयता सुनिश्चित करने के लिए विशेष रूप से प्रभावी है।
स्वचालित परीक्षण प्लेटफ़ॉर्म: केप्लॉय बैकएंड सेवाओं, विशेष रूप से एपीआई और डेटाबेस इंटरैक्शन के लिए स्वचालित रूप से परीक्षण उत्पन्न करने पर ध्यान केंद्रित करता है।
कैप्चर और रीप्ले: केप्लॉय वास्तविक दुनिया के ट्रैफ़िक को कैप्चर करता है और इसे परीक्षण वातावरण में दोबारा चलाता है, जिससे वास्तविक जीवन के परीक्षण मामले बनते हैं।
नो-कोड टेस्ट जेनरेशन: आसानी के लिए डिज़ाइन किया गया, यह कस्टम स्क्रिप्ट की आवश्यकता के बिना परीक्षण उत्पन्न करता है।
केप्लॉय के साथ E2E परीक्षण:
एपीआई-सेंट्रिक ई2ई परीक्षण: बैकएंड घटकों के लिए एंड-टू-एंड परीक्षण को स्वचालित करता है, यह सुनिश्चित करता है कि बैकएंड कार्यक्षमता एक इकाई के रूप में सत्यापित है।
त्रुटि का पता लगाना और दोबारा चलाना: एपीआई अनुरोधों/प्रतिक्रियाओं को कैप्चर करता है, इंटरैक्शन को दोबारा चलाता है, और प्रतिगमन का जल्दी पता लगाता है।
संगत डेटा सत्यापन: सभी तैनाती में सटीकता सुनिश्चित करते हुए, डेटा प्रवाह में प्रतिक्रियाओं और परिवर्तनों को ट्रैक करता है।
निर्बाध एकीकरण: आसानी से सीआई/सीडी पाइपलाइनों के साथ एकीकृत होता है, जिससे टीमों को बैकएंड परिवर्तनों पर ई2ई जांच स्वचालित करने में मदद मिलती है।
इस स्थान में कई उपकरण हैं, इनमें से प्रत्येक उपकरण विभिन्न प्रकार के परीक्षण वातावरणों के लिए उपयुक्त क्षमताएं प्रदान करता है, कठपुतली में ब्राउज़र-विशिष्ट परीक्षणों से लेकर प्लेराइट और सेलेनियम में क्रॉस-ब्राउज़र संगतता तक।
सही उपकरण चुनना अंततः आपकी परीक्षण आवश्यकताओं और एप्लिकेशन आवश्यकताओं पर निर्भर करता है।
सरू मुख्य रूप से एक फ्रंट-एंड परीक्षण उपकरण है। हालाँकि यह बैकएंड एपीआई और मॉक प्रतिक्रियाओं के साथ इंटरैक्ट कर सकता है, लेकिन इसे व्यापक बैकएंड परीक्षण के लिए डिज़ाइन नहीं किया गया है। बैकएंड-विशिष्ट परीक्षणों के लिए, केप्लॉय जैसे उपकरण सर्वर-साइड कार्यात्मकताओं के लिए इकाई और एकीकरण परीक्षण क्षमताएं प्रदान करके साइप्रस को पूरक कर सकते हैं।
हां, साइप्रस क्रोम, एज और फ़ायरफ़ॉक्स का समर्थन करता है। हालाँकि, सेलेनियम या प्लेराइट जैसे टूल की तुलना में इसका समर्थन सीमित है, जो व्यापक क्रॉस-ब्राउज़र अनुकूलता प्रदान करते हैं।
सरू सीधे परीक्षण कोड से HTTP अनुरोध करके एपीआई परीक्षण कर सकता है। आप एपीआई प्रतिक्रियाओं को मान्य करने के लिए cy.request() का उपयोग कर सकते हैं, जिससे समान एंड-टू-एंड परीक्षण ढांचे के भीतर एपीआई का परीक्षण करना आसान हो जाता है।
साइप्रेस डिफ़ॉल्ट रूप से विस्तृत लॉग और स्क्रीनशॉट प्रदान करता है, और टेस्ट रनर आपको अपने परीक्षणों के साथ दृश्य रूप से बातचीत करने की अनुमति देता है। आप असफल परीक्षणों को अलग करने के लिए .only जोड़ सकते हैं, निष्पादन रोकने के लिए cy.pause() का उपयोग कर सकते हैं, और आगे डिबगिंग के लिए Chrome DevTools का उपयोग कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3