और कौन सेलेनियम की जरूरत है? क्या कोई 2020 में BDD का उपयोग करता है? सेलेनियम में मशीन लर्निंग

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

छवि

हम (Vsevolod Brekelov और दारिया Manukhina, heisenbug सम्मेलन कार्यक्रम समिति) अन्ना Chernyshova, के डेवलपर के साथ बात की थी अकिता पुस्तकालय और नए Healenium उपकरण ( BDD के बारे में उसे बात ), और इवान Krutov, के डेवलपर Selenoidइवान कई वर्षों से सेलेनियम परीक्षणों के लिए बुनियादी ढांचे में लगे हुए हैं ( उनके मास्टर वर्गों में से एक )। चर्चा की:

  • 2020 में बीडीडी दृष्टिकोण;
  • सेलेनियम और इसके विकास;
  • कैरियर;
  • मशीन लर्निंग और सेलेनियम।


साक्षात्कार में दो भाग होते हैं: दूसरे में, हमने सेलेनियम परीक्षणों के बुनियादी ढांचे के बारे में बात की, परीक्षक के उपकरण और इस पोस्ट के अंत में उठाए गए प्रश्न का उत्तर दिया।


वार्ताकारों के बारे में बहुत सारे पत्र


- अया, वान्या, हमें अपने बारे में बताओ। आइए एनी से शुरू करें: हमें संक्षेप में बताएं कि आप मुख्य रूप से क्या करते हैं।


अन्या : मेरे पास अब दो मुख्य गतिविधियाँ हैं: पहला - मैं EPAM के EPAM परीक्षण क्षमता केंद्र में काम करती हूँ। यह ऐसे लोगों का एक समूह है, जिन्हें एक परियोजना शुरू करने में मदद के लिए परामर्श दिया जा रहा है, प्रौद्योगिकियों का चयन किया जा रहा है। मैं परियोजनाओं पर बहुत सारे ऑडिट परीक्षण करता हूं। मैं समझता हूं कि क्या गलत है, क्या अच्छा है, क्या बुरा है, मैं सुधार की सलाह देता हूं, मैं PoC बनाता हूं। मूल रूप से, कंपनी के भीतर इस तरह के परामर्श। दूसरी दिशा है त्वरक, हमारी नई हीलेनियम , हमने इसके लिए अपेक्षाकृत हाल ही में मुआवजा दिया है, यह वह चीज है जो रनटाइम में टूटे हुए लोकेटरों की मरम्मत कर सकती है और परीक्षण को अद्यतित रख सकती है।

- महान! वान्या, तुम्हारे बारे में क्या? मुझे पता है कि आप एक सेलेनॉइड डेवलपर हैं।


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

- आपने सेलेनॉइड के बारे में थोड़ा कहा। मुझे पता है कि सेलेनॉइड एरोक्यूब संगठन की एक परियोजना है। क्या आप बता सकते हैं कि यह कैसा है? क्या यह एक समुदाय है या यह एक संगठन है? एक वाणिज्यिक संगठन या यह कैसे दिखाई दिया?

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

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

- तो आप इसमें काम करते हैं, यह पता चला है?

वान्या : हाँ।

- अच्छा। आन्या, आपने अकिता पुस्तकालय लिखा , जो अल्फ़ा बैंक में विकसित किया जा रहा था। क्या आप अभी भी कहीं सक्रिय रूप से इसका उपयोग कर रहे हैं? या वह अल्फा में रहती थी और यही है?

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

- आपने बीडीडी को बढ़ावा दिया क्या आप इसे कहीं और बढ़ावा दे रहे हैं, या क्या यह वह विषय नहीं है जिस पर आप सक्रिय रूप से काम कर रहे हैं?

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

2020 में BDD का उपयोग। यह एक मजाक है?


- 2020 में BDD ठीक है?

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

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

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



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

वान्या : मुझे लगता है कि यह सब कुछ की मात्रा पर निर्भर करता है।

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

- यही है, अगर आपके पास बहुत पैसा है और आपने बहुत सारे लोगों को काम पर रखा है जो तकनीकी रूप से अक्षम हैं, तो क्या बीडीडी आपके लिए उपयुक्त है?

आन्या : सिद्धांत रूप में, आप कह सकते हैं कि।

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

क्या बीडीडी आउटसोर्स या होस्ट किया गया है?


- अगर हम इस बारे में बात करें कि क्या बीडीडी एक आउटसोर्स प्रोजेक्ट के लिए है और एक आंतरिक के लिए, क्या इसमें कोई अंतर है या नहीं? यदि बजट अनुमति देता है, तो क्या आपको आउटसोर्सिंग के लिए बीडीडी की आवश्यकता है?

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

- ऐसा लगता है कि आउटसोर्सिंग के लिए बीडीडी न केवल उनके बारे में एक परियोजना लिखने के लिए है, आवश्यकताओं का पता लगा रहा है, बल्कि ग्राहकों को सिखाने के बारे में भी आम तौर पर समझने के लिए है कि क्या है। क्योंकि कुछ विश्लेषकों या यहां तक ​​कि प्रबंधकों को यह समझने का प्रशिक्षण कि उन्हें भविष्य में कैसे परिदृश्य बनाने चाहिए, अगर यह भी एक अलग कहानी है।

आन्या : हाँ, इसकी अपनी कठिनाइयाँ हो सकती हैं।

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

फोटो साइट www.kmd.dk से

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

व्यवसाय


— - , , , , , , .

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

- - — , .


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

— , , . ? , , , : «, , , ! , , ».

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

आन्या : हाँ, यहाँ समझ में आता है कि आप कुछ क्यों कर रहे हैं, और सिर्फ यह नहीं कर रहे हैं - यह अच्छा होगा।

सेलेनियम क्या उसे अभी भी जरूरत है?


— Selenium, . : « - Selenium? , , , Selenium?»

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

यदि एक परीक्षण विशेषज्ञ के रूप में आप कहीं जाना चाहते हैं, तो सबसे अधिक संभावना है कि यह सेलेनियम होगा।


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

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

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

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

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

मानकीकृत उपकरणों के साथ काम करना हमेशा बेहतर होता है।


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

- आपकी राय में, सेलेनियम में कितना बदलाव आया है? इस उपकरण में पिछले दो वर्षों में नाटकीय रूप से कुछ भी बदल गया है और क्या यह किसी भी तरह विकसित हो रहा है?

वान्या : मुझे लगता है कि यह काफी बदल जाता है। दो या तीन साल पहले, यह महसूस किया गया था कि इसमें किसी प्रकार का ठहराव था, क्योंकि वास्तव में सेलेनियम का आविष्कार 2004 में हुआ था, फिर यह विकसित हुआ, विकसित हुआ, फिर 2008-2009 में वे सेलेनियम वेबड्राइवर के साथ आए, और वे सेलेनियम ग्रिड के साथ आए। पांच साल बाद, उन्होंने इसे समाप्त कर दिया, कुछ छोटी विशेषताओं को रोल आउट किया, सामान्य तौर पर, कुछ भी नहीं बदला। सभी के पास सेलेनियम ग्रिड था, सभी के पास एक मानक सेलेनियम लाइब्रेरी थी।

लेकिन पिछले 2-3 वर्षों में सेलेनियम पर आधारित सभी प्रकार के नए उत्पादों में उछाल आया है। हमने, उदाहरण के लिए, सेलेनॉइड बनाया। लोग, जो कम से उस समय काम किया Zalando , सेलेनियम ग्रिड पर आधारित है, Zalenium, यह भी एक सेलेनियम-संगत समाधान के रूप में इस तरह के एक उपकरण बनाया है। वास्तव में, दोनों उपकरण किसी भी विशिष्ट समस्याओं को हल करने के लिए बनाए गए थे जिनके लिए मूल कोड में कोई समाधान नहीं था। तब दूसरों को दिखाई दिया, खुद सेलेनियम के प्रतियोगी। अब, यह मुझे लगता है, पिछले दो या तीन वर्षों के लिए किसी तरह की dvizhuha-dvizhuha चला गया है।

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

- हां, तीन साल पहले, मुझे याद है कि सफारी पर सेलेनियम के लिए परीक्षण चला था, अपने आप को इस तरह से अनसुना करना आवश्यक था। सामान्य तौर पर, यह चोट लगी।

वान्या : और अब सब कुछ मानक के अनुसार कम या ज्यादा किया जाता है। वहाँ, ज़ाहिर है, कुछ ख़ासियतें हैं, लेकिन संक्षेप में सब कुछ एक समान हो गया, अर्थात्, यह इस तरह का एक एकीकरण था कि यह कैसे अंदर काम करता है। मुझे लगता है कि यह अच्छा है, इसमें बहुत सारे प्रयास किए गए थे। इसलिए, मुझे नहीं लगता कि अब सेलेनियम में कोई ठहराव है। अब विभिन्न निर्णयों की स्वस्थ प्रतिस्पर्धा है।

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

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

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

- अया, बताइए आप मशीन लर्निंग से क्या समस्याएं हल करते हैं? क्या वे हमारे लिए सब कुछ लिखेंगे? हमारे देश में, हर जगह कृत्रिम बुद्धि घुसने लगी है। यदि आप Google में "AI और सेलेनियम" चलाते हैं, तो लोग अपने स्वयं के पुस्तकालयों को विकसित करना शुरू करते हैं, कुछ और अपलोड करते हैं, अर्थात विकास जारी है।

Anya: सेलेनियम के बारे में, मैं कह सकता हूं कि हाल ही में इसके मानकीकरण के कारण, विशेष रूप से, इसके आधार पर सभी प्रकार के निर्णय लेने में बहुत अधिक सुविधाजनक रहा है। सुविधाओं के बारे में, आपको सबसे महत्वपूर्ण बात यह है कि पृष्ठ पर तत्वों के साथ बातचीत करना है। और तदनुसार, यह हिस्सा पहले से ही परीक्षकों के साथ निहित है कि सेलेनियम का उपयोग करके इस बातचीत का वर्णन कैसे करें। यदि आप इसे पूरी तरह से सेलेनियम का उपयोग करके वर्णन करते हैं, तो अस्थिर परीक्षण हो सकते हैं, क्योंकि यूआई पर कोई भी परिवर्तन होगा, कुछ तत्व इंतजार नहीं करेंगे, और इसी तरह। मशीन लर्निंग को इस स्थान पर लागू किया जाने लगा है ताकि इन परीक्षणों को स्थिर किया जा सके। ताकि ये परीक्षण हमारे पेज पर मौजूद जानकारी और उपयोगकर्ता के व्यवहार के आधार पर उत्पन्न हो सकें।

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

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

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

— , Selenium IDE . , . IDE .
, , ?




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

हाल ही में, परीक्षण में एमएल के बारे में सवाल के जवाब के साथ साक्षात्कार का दूसरा भाग जारी किया गया था: उन्हें पता चला कि वह व्यक्ति कौन मार्कर है , और यह पता लगाया गया कि क्या सेलेनियम का 2020 में अध्ययन किया जाना चाहिए।

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

All Articles