फ़ाइल अपलोड और डाउनलोड को संभालना एंड-टू-एंड परीक्षण में सामान्य परिदृश्य हैं। इस पोस्ट में, हम यह पता लगाएंगे कि साइप्रस का उपयोग करके फ़ाइल अपलोड और डाउनलोड दोनों को कैसे प्रबंधित किया जाए। भले ही साइप्रस के पास इन परिचालनों के लिए अंतर्निहित समर्थन का अभाव है, आप कुछ पुस्तकालयों और साइप्रस के आदेशों के मजबूत सेट का लाभ उठाकर इस कार्यक्षमता को प्राप्त कर सकते हैं।
इस गाइड के अंत तक, आप जान जाएंगे कि कैसे:
उदाहरणों का पालन करने के लिए, सुनिश्चित करें कि आपके पास साइप्रस स्थापित और सेटअप है। यदि आप साइप्रस v13.6.2 का उपयोग कर रहे हैं, तो यह इस पोस्ट में दिखाए गए तरीकों के साथ संगत है।
साइप्रस में फ़ाइलें अपलोड करने के लिए, हम साइप्रस-फ़ाइल-अपलोड प्लगइन का उपयोग करेंगे, जो आपके परीक्षणों के दौरान फ़ाइल अपलोड क्रियाओं को अनुकरण करने का एक आसान तरीका प्रदान करता है।
चरण 1: साइप्रस-फ़ाइल-अपलोड प्लगइन स्थापित करें
साइप्रस में फ़ाइल अपलोड को संभालने के लिए, आपको सबसे पहले साइप्रस-फ़ाइल-अपलोड पैकेज स्थापित करना होगा।
npm install --save-dev cypress-file-upload
इसके बाद, इसे साइप्रस समर्थन फ़ोल्डर के अंदर अपनी कमांड.जेएस फ़ाइल में आयात करें:
import 'cypress-file-upload';
चरण 2: फ़ोल्डर संरचना
सुनिश्चित करें कि आपके प्रोजेक्ट में परीक्षण फ़ाइलों को संग्रहीत करने और परीक्षण के दौरान उन्हें अपलोड करने के लिए निम्नलिखित फ़ोल्डर संरचना है:
cypress/ fixtures/ exampleFile.pdf // Test file for uploading e2e/ fileUploadTests.cy.js // Test file to upload and validate
चरण 3: एक फ़ाइल अपलोड करना
एक बार जब आप प्लगइन इंस्टॉल कर लेते हैं, तो आप फिक्स्चर फ़ोल्डर से फ़ाइल अपलोड करने के लिए अटैचफ़ाइल कमांड का उपयोग कर सकते हैं।
यहां बताया गया है कि आप फ़ाइल कैसे अपलोड कर सकते हैं:
describe('File Upload Test in Cypress', () => { it('should upload a file successfully', () => { // Visit the page with a file upload input cy.visit('/upload'); // Select the file input element and upload a file from the fixtures folder cy.get('input[type="file"]').attachFile('exampleFile.pdf'); // Validate that the file was uploaded (depends on your app's specific response) cy.get('.file-name').should('contain', 'exampleFile.pdf'); }); });
इस परीक्षण में:
फ़ाइल अपलोड को मान्य करना यह जांचने जितना आसान हो सकता है कि अपलोड के बाद फ़ाइल का नाम या पथ वेबपेज पर दिखाई देता है या नहीं। हालाँकि, जटिल परिदृश्यों (उदाहरण के लिए, फ़ाइल सामग्री या आकार को सत्यापित करना) के लिए, आपको सर्वर-साइड जाँच या स्टब्स की आवश्यकता हो सकती है।
उदाहरण: अतिरिक्त डेटा के साथ फ़ाइल अपलोड को मान्य करें
describe('File Upload and Validation', () => { it('should upload a file and validate metadata', () => { cy.visit('/upload'); cy.get('input[type="file"]').attachFile('exampleFile.pdf'); // Assert that the file metadata like size is displayed correctly cy.get('.file-size').should('contain', 'Size: 1MB'); }); });
साइप्रस में फ़ाइल डाउनलोड
साइप्रस फ़ाइल डाउनलोड को सत्यापित करने के लिए मूल समर्थन प्रदान नहीं करता है (चूंकि ब्राउज़र साइप्रस के नियंत्रण के बाहर फ़ाइलों को डाउनलोड करता है), लेकिन हम स्थानीय फ़ाइल सिस्टम में सीधे डाउनलोड की गई फ़ाइल की जांच करके इसके आसपास काम कर सकते हैं।
चरण 1: साइप्रस-डाउनलोडफ़ाइल स्थापित करना
साइप्रस में फ़ाइल डाउनलोड को सत्यापित करने के लिए, हम साइप्रस-डाउनलोडफ़ाइल प्लगइन का उपयोग कर सकते हैं।
इसे npm के माध्यम से स्थापित करें:
npm install --save-dev cypress-downloadfile
इसके बाद, प्लगइन को अपनी Commands.js फ़ाइल में जोड़ें:
require('cypress-downloadfile/lib/downloadFileCommand');
चरण 2: फ़ाइलें डाउनलोड करना और मान्य करना
अब आप एक परीक्षण लिख सकते हैं जो एक फ़ाइल को डाउनलोड करता है और उसकी सामग्री को सत्यापित करता है।
उदाहरण: एक फ़ाइल डाउनलोड करना
describe('File Download Test in Cypress', () => { it('should download a file and validate its content', () => { cy.visit('/download'); // Download the file and save it to a custom downloads folder cy.downloadFile('https://example.com/sample.pdf', 'cypress/downloads', 'sample.pdf'); // Validate that the file exists in the specified location cy.readFile('cypress/downloads/sample.pdf').should('exist'); }); });
इस परीक्षण में:
चरण 3: फ़ाइल सामग्री को मान्य करना
डाउनलोड सफल रहा यह सुनिश्चित करने के लिए आप डाउनलोड की गई फ़ाइल की सामग्री को सत्यापित करना चाह सकते हैं। टेक्स्ट-आधारित फ़ाइलों (उदाहरण के लिए, .txt, .csv) के लिए, साइप्रस की cy.readFile() का उपयोग फ़ाइल की सामग्री पर जोर देने के लिए किया जा सकता है।
उदाहरण: डाउनलोड की गई फ़ाइल सामग्री को मान्य करें
describe('Validate Downloaded File Content', () => { it('should download and check the content of a text file', () => { cy.visit('/download'); // Download the text file cy.downloadFile('https://example.com/sample.txt', 'cypress/downloads', 'sample.txt'); // Read the file and assert its content cy.readFile('cypress/downloads/sample.txt').then((fileContent) => { expect(fileContent).to.contain('This is a sample text file'); }); }); });
यह परीक्षण एक .txt फ़ाइल डाउनलोड करता है और जाँचता है कि इसमें अपेक्षित पाठ है।
फ़ाइल अपलोड और डाउनलोड वेब एप्लिकेशन परीक्षण में महत्वपूर्ण संचालन हैं, और जबकि साइप्रस मूल रूप से इन परिचालनों का समर्थन नहीं करता है, साइप्रस-फ़ाइल-अपलोड और साइप्रस-डाउनलोडफ़ाइल प्लगइन उपयोग में आसान वर्कअराउंड प्रदान करते हैं।
इस गाइड में, हमने पता लगाया कि कैसे:
इन उपकरणों और तकनीकों के साथ, आप अपने साइप्रस एंड-टू-एंड परीक्षणों में फ़ाइल अपलोड और डाउनलोड को आत्मविश्वास से संभाल सकते हैं!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3