परीक्षक के बजाय एक पुरुष-मजदूर? क्या 2020 में सेलेनियम का अध्ययन करना इसके लायक है?



साक्षात्कार की निरंतरता “सेलेनियम की और किसे आवश्यकता है? क्या कोई 2020 में BDD का उपयोग करता है? मशीन सीखना सेलेनियम »

संवाद में शामिल:


लेख के अंत में आप इवान और अन्ना द्वारा साझा निष्कर्ष का पता लगा सकते हैं, अर्थात् प्रश्न का उत्तर: "क्या मुझे सेलेनियम का अध्ययन करना चाहिए या कुछ और चुनना चाहिए?"। इसके अलावा, हम इस बारे में बात करने में कामयाब रहे:

  • मार्कर मैन और पता करें कि वह कौन है;
  • कंपनियों में मूल्यवान कर्मचारी;
  • परीक्षक टूलकिट;
  • सेलेनियम परीक्षणों के लिए बुनियादी ढाँचा;
  • सेलेनियम प्रतियोगियों।

यदि आपने साक्षात्कार का पहला भाग नहीं पढ़ा है, तो यहां कुछ स्क्रीनशॉट हैं जो पाठकों को सबसे ज्यादा याद हैं:



मशीन सीखने के सवाल पर पिछला लेख छोटा था। चलो उसके साथ शुरू करते हैं।

- अगर मशीन सीखना वास्तव में बहुत अच्छा है, तो कौन सा हिस्सा लोगों, परीक्षकों के लिए जीवित रहेगा?

आन्या : सबसे पहले, सब कुछ एक तरह से या किसी अन्य को मान्य करने की आवश्यकता होगी। यह अच्छी तरह से काम करता है जब हमारे पास मशीन सीखने वाले प्रश्न का स्पष्ट उत्तर होता है: हाँ या नहीं। इन हां या ना के आधार पर मशीन निर्णय लेती है। जब इस प्रश्न का कोई स्पष्ट उत्तर नहीं है, तो यह पहले से ही वहां आवश्यक है ...

- एक विशेष मार्कर मैन।

इवान : किसी भी मशीन सीखने में दो भाग होते हैं।

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

दूसरे, मशीन लर्निंग मुख्य रूप से खोज के बारे में है, इंटरनेट पर सभी खोज इंजन इसमें बहुत सक्रिय हैं। इन एल्गोरिदम की गुणवत्ता में सुधार करने के लिए, किसी को भारी मात्रा में डेटा संसाधित करना होगा। एक व्यक्ति की भूमिका को एक बड़ी बुनियादी संरचना का समर्थन करने के लिए कम किया जा सकता है जो इस डेटा का प्रभावी ढंग से विश्लेषण करेगा। शायद एल्गोरिथ्म खुद काम करेगा। लेकिन सभी स्थितियों को सुनिश्चित करने के लिए ताकि यह एल्गोरिथम काम कर सके और इसमें अच्छी गुणवत्ता हो, फिर भी यह मानवीय कार्य होगा।
सभी स्थितियों को प्रदान करने के लिए ताकि एल्गोरिथ्म काम कर सके और यह अच्छी गुणवत्ता वाला हो, फिर भी यह मानवीय कार्य होगा।
उदाहरण के लिए, कुछ बड़ी संख्या, कुछ अच्छे एल्गोरिदम को प्रशिक्षित करने के लिए, आपको गणनाओं के एक वितरित क्लस्टर, कुछ प्रकार के पागल Mapeduce की आवश्यकता होती हैइस कार्य के लिए, आपको अभी भी ऐसे लोगों की आवश्यकता है जो या तो इसे सेट करते हैं और यह सुनिश्चित करने के लिए देखते हैं कि यह सामान्य रूप से काम करता है, या जो इसे विशेष रूप से इस कार्य के लिए लिखते हैं। मशीन लर्निंग बहुत सरल विषय नहीं है। जितना अधिक आप इसे बेहतर काम करना चाहते हैं, उतना ही आपको निवेश करने की आवश्यकता है। गुणवत्ता का प्रत्येक अगला प्रतिशत, यह किसी प्रकार का भारी अविश्वसनीय प्रतिशत नहीं है, बल्कि परिमाण के आदेशों के अनुसार है।
प्रारंभिक चरण में, आप इसे अपने लैपटॉप पर शुरू कर सकते हैं, और फिर, जितना बेहतर आप इसे काम करना चाहते हैं, उतना ही आपको निवेश करने की आवश्यकता है।
- अर्थात्, ऐसी मशीनरी के साथ, हम अभी भी कुछ मशीनों पर, कुछ प्रकार के बुनियादी ढांचे पर परीक्षण चलाने से दूर नहीं होंगे। यह CI / CD परीक्षण के साथ कहीं भी नहीं जाएगा। इसलिए, उदाहरण के लिए, सेलेनॉइड निश्चित रूप से अतीत की बात नहीं होगी, लेकिन सेलेनियम आईडीई के लिए भी ऐसा नहीं कहा जा सकता है।

वान्या : सेलेनियम आईडीई अब विलुप्त होने के अधीन नहीं है, लेकिन इस तथ्य के लिए कि यह एक अधिक आला उपकरण बन जाएगा, जैसा कि मैंने पहले कहा था। उसके पास ऐसी टीमें हैं जिनके लिए यह वास्तव में सुविधाजनक है। कोई व्यक्ति स्क्रैच से ऑटोटेस्ट्स लिखने में सहज है, कोई आरामदायक रिकॉर्डिंग और प्रजनन में है। मैं उस तरह सब कुछ दफनाने के लिए इच्छुक नहीं हूं, यह मुझे लगता है कि यह एक विकासवादी प्रक्रिया है।

- सही है। "कोबोल" परीक्षण में भी है, यह पता चला है।

वान्या : मैं मेनफ्रेम के बारे में बात कर रहा हूँ! कोई कोबोल, मेनफ्रेम और सब कुछ काम करता है। यह मुझे लगता है कि हम सभी प्रकार की तकनीकी समस्याओं के बारे में अधिक बात कर रहे हैं, और एक और अति सूक्ष्म अंतर है। अंत में, सब कुछ पैसे के लिए नीचे आता है जब यह सब सूजना शुरू होता है।

यदि हमारे लिए सब कुछ बेतहाशा बढ़ गया है, उदाहरण के लिए, मशीन सीखने की लागत, तो कुछ बिंदु पर सामान्य सवाल उठेगा: "क्या ये खर्च आम तौर पर उचित हैं?"

यदि हम सेलेनियम का उपयोग करते हैं तो हमारा कार्य क्या है? परीक्षा करना। यह पता चल सकता है कि कुछ बिंदु पर इस मशीन सीखने के विकास की लागत सिर्फ उन लोगों को काम पर रखने से अधिक होगी जो नीचे बैठते हैं और अपने हाथों को बुलाते हैं।

टीमें अभी भी क्यों मौजूद हैं, क्या मैन्युअल परीक्षण है, क्या स्वचालित परीक्षण है? मैन्युअल परीक्षक क्यों नहीं गायब हुए? क्योंकि कार्यों का एक निश्चित वर्ग है जो लोगों के हाथों में लेने के लिए इसे लेना सस्ता है। यह ऑटोटेस्ट लिखने से सस्ता है। सब कुछ वैसे भी अर्थव्यवस्था के खिलाफ है, और कहीं भी नहीं मिल रहा है।

अगर हमारे लिए सब कुछ बेतहाशा बढ़ गया है, उदाहरण के लिए, मशीन सीखने की लागत, तो कुछ बिंदु पर सामान्य सवाल उठेगा: "क्या ये खर्च आम तौर पर उचित हैं?"


"सहायक कर्मचारी" कौन है?


"लेकिन कितनी जल्दी एक उत्पाद उपयोगकर्ता तक पहुँचता है यह अर्थव्यवस्था को प्रभावित करता है।" स्वचालन लाभ और प्रतिस्पर्धी लाभ बढ़ाने के लिए प्रसव के समय को कम करने की कोशिश कर रहा है, है ना?

वान्या : सही है। और एक कर्मचारी जो अपनी कंपनी की गतिविधियों को मानता है, जैसे कि यह उसकी निजी कंपनी होगी। वह पैसे गिनता है, कम से कम इस विषय पर सोचता है, उन्हें वास्तविक इकाइयों में नहीं गिनता है, लेकिन सोचता है कि यह शायद हमारे लिए सस्ता होगा। ऐसा कर्मचारी हमेशा एक कंपनी के लिए मूल्यवान होगा जो हर बैठक में यह कहेगा: "देखो, दोस्तों, हम अब बचत करेंगे, उदाहरण के लिए, और इसलिए हम अधिक लाभ प्राप्त करेंगे।" भले ही वह जूनियर डेवलपर हो।

- ऐसा लगता है कि मैं बाजार में ऐसे लोगों से शायद ही मिलता हूं।

वान्या : अच्छा! वे कुछ हैं।कुछ लोगों को लगता है

- यह पता चला है कि हर कोई समस्या को हल करने के लिए उपयोग किया जाता है। और उपकरणों के सेट के साथ या उन दृष्टिकोणों के साथ जो पहले से ही वहां हैं, लेकिन कुछ लोग सोचते हैं कि क्या वे वास्तव में व्यवसाय के दृष्टिकोण से इष्टतम हैं।

आन्या : यह संगठन के विकास पर निर्भर करता है, संस्कृति पर कि यह अपने कर्मचारियों के लिए बढ़ावा देता है। मैंने हाल ही में "फ्यूचर के संगठनों की खोज" पुस्तक पढ़ी, संगठनों की विभिन्न श्रेणियां हैं, वे रंग से विभाजित हैं।

भविष्य के संगठन फ़िरोज़ा कंपनियां हैं, जहां हर कर्मचारी बीमार और चिंतित है ताकि हम उपयोगकर्ताओं के लिए सबसे अच्छा कर सकें, और हर कोई इस प्रक्रिया में शामिल है। प्रबंधन क्या है, इसका कोई सख्त उन्नयन नहीं है, कम कर्मचारी हैं, वरिष्ठ कर्मचारी हैं, प्रत्येक की अपनी अलग जिम्मेदारी का क्षेत्र है, जैसा कि यह था, यह अन्य संबंधित क्षेत्रों में कहीं भी जाने के लिए नहीं लगता है - यह नहीं है। सभी कर्मचारियों के बीच जिम्मेदारी साझा की जाती है। यदि कोई कंपनी इस दिशा में आगे बढ़ना शुरू करती है, तो वह अपने कर्मचारियों के बीच समान मूल्यों को बढ़ावा देना शुरू करती है, और भले ही ऐसा व्यक्ति जिसके दिमाग में यह विचार न हो कि यह कैसे करना है, इस व्यवसाय के लिए मूल, व्यवसाय के लिए, अपने सहयोगियों को देखता है, शुरू होता है। आगे अध्ययन करने के लिए, यदि वह अपना कार्य स्थान बदलता है, तो यह भी विकसित होना शुरू हो जाएगा। यह उन समान संगठनों की संख्या से आता है जो अब हैं,और कितने दिखाई देंगे।

2020 में सेलेनियम का उपयोग


- अब सेलेनियम का उपयोग कैसे किया जाता है?

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

आन्या : आप इसे यूआई-लोड परीक्षण के रूप में भी उपयोग कर सकते हैं।

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

वास्तव में, सेलेनियम सिर्फ एक एपीआई है जो कोड को ब्राउज़रों के साथ काम करने की अनुमति देता है, बस। कोई भी कार्य जिसके लिए ऐसा उपकरण उपयुक्त है, उसका उपयोग कर सकता है, जरूरी नहीं कि परीक्षण, कुछ भी हो सकता है।

परीक्षक टूलकिट


- ऑटोटस्टिंग की समस्याओं को हल करने के लिए, सेलेनियम के अलावा कौन से उपकरण आमतौर पर इंजीनियर चुनते हैं? वे जावा, एल्यूर, सेलेनॉइड, सेलेनाइड लेते हैं, इसे सभी को एक साथ जोड़ते हैं और अपने रोजमर्रा के कार्यों को हल करने के लिए एक अच्छी मशीन गन प्राप्त करते हैं। या कुछ और है?




आन्या : यहां आपको यह समझने की आवश्यकता है कि स्वचालन के लिए यह दृष्टिकोण किन स्तरों से मिलकर बनेगा। प्रत्येक स्तर पर, आप कुछ साधन को हवा दे सकते हैं।

पहला स्तर यह चुनना है कि क्या लिखना है, क्या यह जावा, .NET, जेएस है? मैंने जावा के साथ अधिक काम किया, और मैं इसके बारे में बात करूंगा। वास्तव में, परियोजना के निर्माण पर क्या - जावा। आप इसे मावेन या ग्रैडल का उपयोग करके इकट्ठा कर सकते हैं। अब मावेन के पास एक पोम उपनाम है जो कि मिचेल में शांत है, इसके साथ काम करना सुविधाजनक है।

अगला, इन परीक्षणों को चलाने का तरीका चुनें - ये कुछ JUnit या TestNG हैं। मैं हाल ही में JUnit 5 के साथ काम कर रहा हूं।

फिर तत्वों के साथ बातचीत का स्तर चुनें। यह सेलेनियम है, या इस पर किसी प्रकार का आवरण, उदाहरण के लिए, सेलेनाइड। इसके साथ, आप परीक्षण लिखने के लिए समय कम कर सकते हैं।

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

फिर परीक्षण ही लेखन, यह कुछ बीडीडी आवरण, एक ही ककड़ी हो सकता है। यदि आप JUnit चुनते हैं, तो इसके लिए अतिरिक्त चीजों की आवश्यकता होगी।

साथ ही आधारभूत संरचना। मैं हाल ही में सेलेनॉइड के साथ काम कर रहा था, यह मेरे लिए सबसे सुविधाजनक था।

अधिक रिपोर्ट

- ठीक है, रिपोर्ट, बिल्कुल, लुभाना है ?

Anya : ठीक है, या ReportPortal
मैं समझा सकता हूं कि Allure कब बेहतर है, जब ReportPortal बेहतर है। लुभाना अच्छा है जब एक छोटी सी परियोजना, तो यह आमतौर पर आदर्श रूप में आती है। यदि यह किसी प्रकार की बड़ी परियोजना है, जहां 100500 हजार परीक्षण या यह एक उद्यम समाधान है, या एक समझ है कि बहुत सारे परीक्षण होने चाहिए और उन्हें किसी तरह की रिपोर्ट में जोड़ना चाहिए, तो रिपोर्टपार्टल अच्छा है, उनमें से बड़ी संख्या के परिणामों को संसाधित करना अधिक सुविधाजनक है। परीक्षण। जब कुछ परीक्षण होते हैं, तो एल्यूर अधिक सुविधाजनक होता है।

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

ये सभी उपकरण जटिल परिक्षणों के लिए लंबे परिदृश्यों के साथ लिखे गए थे, जहाँ परीक्षण के दौरान किए जाने वाले सभी चरणों की अच्छी तरह कल्पना करना आवश्यक था। ये रिपोर्ट विशेष रूप से इकाई परीक्षणों के लिए उपयुक्त नहीं हैं, क्योंकि सिर्फ "हां / नहीं" का जवाब है, गिर गया - गिर नहीं गया।

सेलेनियम टेस्ट के लिए बुनियादी ढांचा


- वान्या, क्या आप हमें सर्वर के हिस्से के बारे में अधिक बता सकते हैं और लोगों को इसे कितनी बार छूना है? (QA इंजीनियरों, DevOps को)।


चित्र: अनस्प्लैश

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

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

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

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

यदि आप सेलेनियम को तैनात नहीं करना चाहते हैं, तो सेलेनियम के लिए सभी प्रकार के ऑनलाइन प्लेटफ़ॉर्म हैं। आप क्लाउड सेवाओं पर जा सकते हैं। वे काफी महंगे हैं, लेकिन फिर भी वे हैं, वे काफी लोकप्रिय हैं।

Anya : मैं के साथ अनुभव था SauceLabs , सब कुछ भी काफी सुविधाजनक है। आप बस संकेत देते हैं कि किस ब्राउज़र में चलना है, वे मोबाइल परीक्षण का भी समर्थन करते हैं। और आप लॉन्च करें। लेकिन वे महंगे हैं।

क्रॉस ब्राउज़र और मोबाइल ब्राउज़र परीक्षण


- क्रॉस-ब्राउज़र संगतता और सेल फोन के दृष्टिकोण से कैसे, सेलेनियम काम करता है, और क्या इसके लिए बुनियादी ढांचे के साथ कोई समस्या है? मुझे पता है कि कुछ लोग मोबाइल फोन पर कुछ ब्राउज़रों का परीक्षण करते हैं। सौभाग्य से, मैंने इसे सेलेनियम में अपने हाथों से परीक्षण नहीं किया, मुझे नहीं पता कि सब कुछ स्थापित करना कितना मुश्किल है।

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

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

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

यदि आप आईओएस के लिए एमुलेटर पर परीक्षण करना चाहते हैं, तो आपको Apple हार्डवेयर, यानी मैकमिनी, मैकप्रो, मैकबुक या कुछ इसी तरह की चीज़ लेनी होगी, यह भी महंगा है। यह Apple के लाइसेंस प्रतिबंधों के कारण है। इसलिए, सिद्धांत रूप में मोबाइल पर परीक्षण संभव है, यह स्पष्ट है कि बुनियादी ढांचे को कैसे करना है। डॉकर में भी, आप एंड्रॉइड चला सकते हैं, लेकिन यह काफी महंगा है। यदि लोग ऐसा करना चाहते हैं, तो उन्हें कठिन सोचने की जरूरत है।

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

सेलेनियम प्रतियोगियों


- वैसे, Puppeteer, Playwright जैसे विभिन्न उपकरण हैं, जो आपको सटीक रूप से अनुकरण करने और क्रॉस-ब्राउज़र परीक्षण करने की अनुमति देते हैं, जिसमें शामिल हैं मोबाइल ब्राउज़र में। हो सकता है कि लंबे समय तक वे सभी चले गए या प्रत्यारोपित किए गए?

वान्या : दावेदार, कोई और नहीं ले जाया गया।

आन्या : ये शांत चीजें हैं, लेकिन क्रॉस-ब्राउज़र संगतता के मामले में उनकी सीमाएं हैं। फ़ायरफ़ॉक्स के लिए सरू जल्द ही अद्यतन हो रहा है। आप बहुत जल्दी बहुत शांत परीक्षण लिख सकते हैं, सब कुछ सुविधाजनक है, लेकिन आप केवल क्रोमियम द्वारा सीमित हैं।

वान्या : चलो सरू के साथ शुरू करते हैं । 2004-2005 में, सेलेनियम ने निम्नानुसार काम किया।

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

कठपुतली बिल्कुल वैसी ही है। Puppeteer Google Chrome, Chromium है, जो इस डीबग पैनल के साथ काम करने के लिए एक विशेष प्रोटोकॉल लागू करता है। Chrome में एक डीबगिंग पैनल है, ताकि आप कंसोल, नेटवर्क अनुरोध और इतने पर संदेश देख सकें।

- डेवलपर उपकरण बहुत अच्छा है, ज़ाहिर है।

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

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

वानिया: और बड़े, ये उपकरण अच्छे हैं, वे सामान्य हैं। वे सिर्फ आला हैं, वे फ्रंट-एंड विक्रेताओं के लिए अच्छी तरह से अनुकूल हैं, क्योंकि उनके पास अपने कार्य हैं, वे स्थानीय स्तर पर जल्दी से कुछ परीक्षण चलाते हैं, लेकिन समस्या यह है कि वे पहले से मौजूद आवश्यकताओं को कवर नहीं करते हैं।

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

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

- दोस्तों, आपके पास सेलेनियम का उपयोग करने का व्यापक अनुभव है, यदि आप अभी यूआई परीक्षण शुरू कर रहे हैं, तो आप अब कौन सा उपकरण चुनेंगे? कहां से शुरू करना बेहतर है?

Anya : मैं वैसे भी सेलेनियम के साथ शुरू होगा। क्योंकि यह एक मानक है।

- जावा और सेलेनियम, सही?

आन्या : ठीक है, आप जावा नहीं कर सकते, आप .NET, पायथन, लेकिन फिर भी उनके लिए सेलेनियम रख सकते हैं, क्योंकि वह जीवित था, जीवित रहेगा और जीवित रहेगा।

सेलेनियम रहता था, रहता है और जीवित रहेगा।


इवान : मान लीजिए कि हमें कुछ बोर्ड काटने की जरूरत है और एक व्यक्ति एक बढ़ई है।
सबसे पहले, उसे सीखने की ज़रूरत है कि कुछ मानक के साथ कैसे काम किया जाए, कैसे एक आरा के साथ देखा जाए, और फिर कुछ प्रकार के जटिल बिजली उपकरण लेने के लिए।

सेलेनियम एक सरल उपकरण है जो हर किसी के द्वारा किया जा सकता है। 100,500 मिलियन लोग हैं जो आपको बताएंगे कि लॉग के साथ आरी को कैसे देखा जाए। कुछ आला, एक तरफ, इस आला में कटौती करने के लिए अच्छा होगा, लेकिन सामान्य प्रयोजन के कार्यों के लिए, सेलेनियम अभी भी सबसे अच्छा है।

आन्या : सेलेनियम एक आधार है जिसे आपको आगे विकसित करने और इसमें कुछ दिलचस्प बन्स जोड़ने में सक्षम होने के लिए जानने की आवश्यकता है।

- धन्यवाद! मुझे आशा है कि प्राप्त जानकारी हमारे पाठकों के लिए उपयोगी है।

हम आपको याद दिलाते हैं कि हेइज़ेनबग 2020 पाइटर सम्मेलन ऑनलाइन आयोजित किया जाएगा वहां आप वान्या और अन्या के साथ बात कर सकते हैं और हीलेनियम, सेलेनॉइड और कुबेरनेट्स क्लस्टर में क्रोम देवटूल प्रोटोकॉल के उपयोग के बारे में अधिक जान सकते हैं।

उन लोगों के लिए जो अपने क्षितिज को व्यापक बनाना चाहते हैं और एक से अधिक सम्मेलन में भाग लेते हैं, लेकिन तुरंत 8, हमने कुछ तैयार किया है

All Articles