71+ अनवांटेड क्रिटिकल सेलेनियम साक्षात्कार प्रश्न

सेलेनियम साक्षात्कार प्रश्नों के इस ट्यूटोरियल में, हम सभी महत्वपूर्ण सेलेनियम साक्षात्कार प्रश्नों को उन्नत सेलेनियम ऑटोमेशन फ्रेमवर्क साक्षात्कार प्रश्नों के साथ कवर करेंगे। यह ट्यूटोरियल तीन खंडों में विभाजित है:

सेलेनियम फ्रेमवर्क साक्षात्कार प्रश्न

एडवांस सेलेनियम साक्षात्कार प्रश्न

इंटरमीडिएट सेलेनियम साक्षात्कार प्रश्न

ध्यान दें : इस सेलेनियम साक्षात्कार प्रश्न और उत्तर ट्यूटोरियल का ध्यान सबसे महत्वपूर्ण और जटिल प्रश्नावली पर चर्चा करना है क्योंकि आप पहले से ही मूल प्रश्नावली के बारे में जानते होंगे।

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

सेलेनियम साक्षात्कार प्रश्न
सेलेनियम साक्षात्कार प्रश्न

सेलेनियम फ्रेमवर्क साक्षात्कार प्रश्न

एडवांस सेलेनियम साक्षात्कार प्रश्न

इंटरमीडिएट सेलेनियम साक्षात्कार प्रश्न

सेलेनियम फ्रेमवर्क साक्षात्कार प्रश्न: 

सेलेनियम ढांचे के कितने लोकप्रिय प्रकार हैं?

सेलेनियम ढांचे के चार अलग-अलग प्रकार हैं, जो हैं: 

  • पेज ऑब्जेक्ट मॉडल फ्रेमवर्क 
  • हाइब्रिड पेज ऑब्जेक्ट मॉडल फ्रेमवर्क 
  • डेटा संचालित रूपरेखा 
  • कीवर्ड संचालित ढांचा 
  • बीडीडी फ्रेमवर्क 

पेज ऑब्जेक्ट मॉडल ढांचे को डिजाइन करने के लिए कितने अलग-अलग दृष्टिकोण हैं?

  • पेज फैक्ट्री के साथ क्लासिक पेज ऑब्जेक्ट मॉडल  
  • पेज फैक्ट्री के बिना अनुकूलित पेज ऑब्जेक्ट मॉडल 

सेलेनियम में पृष्ठ कारखाना क्या है?

PageFactory सेलेनियम लाइब्रेरी से एक वर्ग है, जिसे org.openqa.selenium.support कहा जाता है, जो पेज ऑब्जेक्ट मॉडल फ्रेमवर्क में पेज ऑब्जेक्ट डिज़ाइन पैटर्न को डिजाइन करने में मदद करता है, जिसमें कुछ कार्यान्वयन हैं:

  • initElements () विधि मूल रूप से पेज फैक्ट्री क्लास में एक स्थिर विधि है, जिसके माध्यम से सभी लोकेटर तत्वों को प्रारंभिक किया जा सकता है।
  • हमें विभिन्न लोकेटर रणनीतियों (यानी, XPath, नाम, आईडी, सीएसएस, आदि) द्वारा Webelement घोषित करने के लिए @findBy एनोटेशन का उपयोग करने की आवश्यकता है।
  • पेज फैक्ट्री क्लास में एक कंस्ट्रक्टर है सार्वजनिक पेजफैक्टरी ()

क्लासिक पेज ऑब्जेक्ट मॉडल और अनुकूलित पेज ऑब्जेक्ट मॉडल के बीच महत्वपूर्ण अंतर क्या है?

  • ए। क्लासिक पेज ऑब्जेक्ट मॉडल में, हम पेज फैक्ट्री में सभी पेज लोकेटर (वेबलाइज) को रखकर पेज फैक्ट्री मॉडल बनाने के लिए पेज फैक्ट्री का उपयोग करते हैं। @findBy एनोटेशन और initElements () विधि।
  • अनुकूलित पेज ऑब्जेक्ट मॉडल में, हम वेब के लिए अलग-अलग पेज के लिए लोकेटर को स्टोर करने के लिए विभिन्न इंटरफेस डिज़ाइन करते हैं। और यहां भी, क्लासिक पेज ऑब्जेक्ट मॉडल के विपरीत, हमारे पास अलग-अलग पेज फ़ंक्शंस के लिए अलग-अलग तरीकों को परिभाषित करने के लिए अलग-अलग कक्षाएं हैं और अलग-अलग वेबपेज फ़ंक्शंस के लिए दावे हैं।

इसलिए प्रत्येक वेबपेज में लोकेटरों को स्टोर करने के लिए एक इंटरफ़ेस होना चाहिए और पेज स्तर के वेब संचालन और उनके सम्मान के लिए 1 वर्ग होना चाहिए।

पेज ऑब्जेक्ट मॉडल फ्रेमवर्क का डिजाइन सिद्धांत क्या है?

पृष्ठ ऑब्जेक्ट मॉडल ढांचे का डिज़ाइन सिद्धांत उन सिद्धांतों या अवधारणाओं पर आधारित है, जो हैं: 

  • पूरे WebApplication को अलग-अलग वेब पेजों में विभाजित किया गया है, और प्रत्येक वेबपेज एक अलग जावा / c # (संबंधित भाषाएं जिस पर फ्रेमवर्क बनाया गया है) वर्ग संबंधित वेबपृष्ठों के लिए कार्यक्षमता का प्रतिनिधित्व करता है।

इसलिए, सभी पृष्ठ क्रियाएं (वेब ​​पेज की कार्यक्षमता के विभिन्न संचालन) संबंधित पेज कक्षाओं पर रहती हैं।

  • संबंधित पेज के लोकेटरों को अलग-अलग इंटरफेस या पेज फैक्ट्री कक्षाओं में रखा जाता है।

पेज ऑब्जेक्ट मॉडल और हाइब्रिड पेज ऑब्जेक्ट मॉडल के बीच महत्वपूर्ण अंतर का उल्लेख करें?

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

  • एक्सेल डेटा बर्तन
  • गुण डेटा बर्तनों
  • यमल डेटा यूटिल्स
  • TestNg डेटा प्रदाता यूटिल्स
  • डेटाबेस बर्तन
  • पीडीएफ डेटा बर्तन
  • छवि डेटा बर्तन
  • सीएसवी डेटा यूटिल्स

ककड़ी -BDD फ्रेमवर्क में Parser का उपयोग किस भाषा में किया जाता है?

Cucumber -BDD फ्रेमवर्क में प्रयुक्त भाषा पार्सर Gherkin है।

गेरकिन भाषा क्या है?

गेरकिन डीएसएल (डोमेन स्पेसिफिक लैंग्वेज) और अंग्रेजी जैसी भाषा है, जो बहुत पठनीय और समझने योग्य है (यानी, दे (), कब (), फिर (), आदि)

Gherkin में दिए गए () से आपका क्या मतलब है?

 दिया () विधि बताती है कि कुछ स्थिति या परिदृश्य दिया या कहा गया है।

 Gherkin में कब () से क्या मतलब है?

जब () का अर्थ है जब आप कुछ ऑपरेशन करते हैं।

तब तक () में गेरकिन का क्या मतलब है?

तब () का उपयोग दिए गए कार्यों () के बाद किए गए कार्यों के बाद अभिकथन के रूप में किया जाता है। (जब)।

क्या सीआई उपकरण आप ढांचे के हिस्से के रूप में उपयोग करते हैं?

हम जेनकिन्स (प्रमुख रूप से) एक ओपन-सोर्स सीआई टूल के रूप में उपयोग करते हैं।

फ्रेमवर्क के हिस्से के रूप में आप किस टूल का उपयोग करते हैं?

हम मावेन / ग्रेडल / चींटी जैसे निर्माण उपकरणों का उपयोग करते हैं (यह पहले इस्तेमाल किया गया था)।

मावेन और ग्रैडल के बीच मुख्य अंतर क्या है?

ग्रेडल, मावेन का प्रदर्शन करने का उन्नत संस्करण है, और इसके साथ ही, हम कार्यों को भी बना सकते हैं (जैसे कि एएनटी में उपलब्ध सुविधा), इसलिए हम उच्च स्तर पर विचार कर सकते हैं: 

पदतल = >> मावेन + चींटी 

सेलेनियम सी # के हिस्से के रूप में, हम गैलियो का उपयोग एक निर्माण उपकरण के रूप में करते हैं। 

सेल टेस्ट फ्रेमवर्क क्या है जिसे हम सेलेनियम ऑटोमेशन फ्रेमवर्क के हिस्से के रूप में उपयोग करते हैं?

हम सेलेनियम के साथ स्वचालन ढांचे का निर्माण करते समय यूनिट टेस्ट फ्रेमवर्क के भाग के रूप में टेस्टन जी / यूनाइट (जेयूनीट का आजकल कम उपयोग किया जाता है) का उपयोग करते हैं। 

सेलेनियम सी # फ्रेमवर्क के एक हिस्से के रूप में, हम यूनिट टेस्ट फ्रेमवर्क के रूप में NUnit / MbUnit का उपयोग करते हैं।

सेलेनियम ढांचे के हिस्से के रूप में रिपोर्टिंग टूल को डिज़ाइन करते समय क्या दृष्टिकोण लिया जा सकता है?

रूपरेखा तैयार करते समय हम विभिन्न रिपोर्टिंग दृष्टिकोण अपना सकते हैं:

  • TestNg की रिपोर्ट।
  • Xslt रिपोर्ट।
  • एल्योर रिपोर्ट।
  • हद रिपोर्ट

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

  • ईएलके स्टैक, यानी, इलास्टिक खोज, लॉगस्टैश और Kibana, जो प्रकृति में और उपयोग और उन्नत स्वचालन ढांचे के विकास में बहुत, बहुत अग्रिम और मजबूत है।
  • अनुकूलित HTML रिपोर्टिंग।

सेलेनियम फ्रेमवर्क के साथ रिपोर्टिंग डैशबोर्ड बनाने के लिए आप ELK का उपयोग कैसे करते हैं:

एक मूल आधार डिजाइन सिद्धांत है जिसका उपयोग स्वचालन डैशबोर्ड को डिजाइन करने के लिए किया जा रहा है, जो हैं: 

  • TestNg श्रोता का उपयोग करें और इसे किसी भी इवेंट जैसे पास, फेल, स्किप, आदि के लिए ElasticSearch इंडेक्स में एकीकृत करें। 
  • अलग-अलग इंडेक्स बनाएं (पास फेल और आपको अपवादों और उनके विवरण आदि की रिपोर्टिंग के लिए सभी विशेषताओं की क्या आवश्यकता है)।
  • किबना डैशबोर्ड को डेटा प्रदर्शित करने के लिए उन अनुक्रमित का उपयोग करें। 

आप HTML अनुकूलित रिपोर्ट कैसे बनाते हैं?

आप TestNg द्वारा प्रदान किए गए विभिन्न श्रोताओं और संवाददाताओं के इंटरफेस का उपयोग करके घटनाओं और उनके संबंधित डेटा सेट को रिकॉर्ड कर सकते हैं और उन डेटा सेट और HTML टैग का उपयोग करके रिपोर्ट बर्तनों में HTML बना सकते हैं।

ढांचा विकसित करते समय आपने किन चुनौतियों का सामना किया है?

विभिन्न प्रकार की चुनौतियाँ हैं जिनका आप अपने अनुभव के अनुसार उल्लेख कर सकते हैं। 

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

उल्लेख करें कि आपने अपने सेलेनियम फ्रेमवर्क में किन सभी सेलेनियम घटकों का उपयोग किया है?

  • सेलेनियम वेबड्राइवर
  • सेलेनियम जीआरआईडी 

आप अपने ढांचे के आधार पर उल्लेख कर सकते हैं।

आपके स्वचालन ढांचे का प्रवाह क्या है?

आप अपने फ्रेमवर्क प्रवाह और आपके द्वारा उपयोग किए जाने वाले उपकरणों के आधार पर अपने ढांचे के निष्पादन के प्रवाह का उल्लेख कर सकते हैं; नीचे एक उदाहरण है जिसका आप उल्लेख कर सकते हैं:

CI (जेनकिन्स) → बिल्ड टूल्स (मावेन /Gradle) → यूनिट टेस्ट फ्रेमवर्क (TestNg) → TestNg.xml - >> TestClasses → BaseTest (हर टेस्ट क्लास बेस क्लास को बेसटेस्ट के रूप में बढ़ाता है जहाँ @beforeClass / @ इससे पहले @AfterClass आदि से बाहर निकलता है) -> TestMethods → PageClasses → पेज मेथड्स WebAction उपयोगिताओं के लिए पुन: प्रयोज्य वर्ग) - >> रिपोर्टिंग बर्तन 

डेटा-चालित ढांचे से आप क्या समझते हैं, और हम डेटा चालित ढांचे का उपयोग कहाँ करते हैं?

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

विभिन्न डेटा स्रोत हो सकते हैं: 

  • A. एक्सेल डेटा यूटिलिटीज
  • B. गुणधर्म डेटा बर्तनों
  • सी। यमल डेटा यूटिल्स
  • डी। टेस्टनग डेटा प्रोवाइडर यूटिल्स
  • ई। डेटाबेस यूटिल्स
  • एफ। पीडीएफ डेटा यूटिल्स
  • जी। इमेज डाटा यूटिल्स
  • एच। सीएसवी डेटा यूटिल्स

एक साक्षात्कार में सेलेनियम स्वचालन ढांचे की व्याख्या कैसे करें?

 एक साक्षात्कार में सेलेनियम स्वचालन ढांचे की व्याख्या करने के लिए आप विभिन्न दृष्टिकोण अपना सकते हैं; सबसे अच्छा संभव तरीका मॉड्यूलर दृष्टिकोण हो सकता है, जो विभिन्न अलग-अलग मॉड्यूलों में स्पष्टीकरण को तोड़ना है, जैसे:

  • फ्रेमवर्क और कुंजी का प्रकार और फ्रेमवर्क की अनूठी विशेषताएं।
  • सेलेनियम ढांचे में प्रयुक्त उपकरण और प्रौद्योगिकी।
  • सेलेनियम फ्रेमवर्क के निष्पादन का प्रवाह।
  • आपके फ्रेमवर्क द्वारा नियंत्रित विभिन्न क्रिटिकल परिदृश्य।

आइए विस्तार से चर्चा करें: 

फ्रेमवर्क और कुंजी और फ्रेमवर्क की अनूठी विशेषताओं के प्रकार:

आपको हाइब्रिड फ्रेमवर्क, पेज ऑब्जेक्ट मॉडल फ्रेमवर्क, हाइब्रिड पेज ऑब्जेक्ट मॉडल फ्रेमवर्क, इत्यादि के प्रकार का उल्लेख करना होगा। 

आपको रूपरेखा की अनूठी विशेषताओं का उल्लेख करना होगा, जैसे कि उदाहरण के लिए:

  •  विभिन्न उपकरणों जैसे कि वास्तविक रीयल-टाइम रिपोर्टिंग ELK स्टैक या अनुकूलित HTML रिपोर्टिंग सुविधा / एल्योर रिपोर्टिंग / हद रिपोर्ट।
  • एडवांस लॉगिंग और डिबगिंग फ्रेमवर्क या टूल जैसे धूसर.
  • छवि मान्यता या छवि डेटा निष्कर्षण या सत्यापन के साथ tesseract OCR प्रौद्योगिकियां
  • कई तृतीय-पक्ष उपकरण जैसे कि TestCase प्रबंधन उपकरण TestLink / JIRA आदि के साथ एकीकरण, सेलेनियम ढांचे के साथ विभिन्न मूल अनुप्रयोग सहभागिता के लिए AutoIT / सिकुली।
  • विभिन्न उन्नत TestNg का कार्यान्वयन श्रोता / पत्रकार उन्नत सुविधाओं के लिए जैसे कि असफल परीक्षणों का परीक्षण ट्रिगर, रनटाइम में TestNG एनोटेशन के साथ हेरफेर आईएनोटेशनट्रांसफॉर्मर, आदि

सेलेनियम ढांचे में प्रयुक्त उपकरण और प्रौद्योगिकी:

आप ढांचे को विकसित करते समय उपयोग किए जाने वाले उपकरणों और प्रौद्योगिकियों का उल्लेख कर सकते हैं, जैसे:

  • जेनकींस
  • Maven
  • टेस्टएनजी
  • भाषा के रूप में जावा
  • सिकली / ऑटोिट
  • टेसेरैक्ट ओसीआर 
  • ELK स्टैक
  • धूसर

सेलेनियम फ्रेमवर्क के निष्पादन का प्रवाह:

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

आपके फ्रेमवर्क द्वारा नियंत्रित विभिन्न गंभीर परिदृश्य:

इस मॉड्यूल में, आप उन महत्वपूर्ण विशेषताओं पर चर्चा कर सकते हैं, जिन्हें आपके फ्रेमवर्क के साथ आपके एप्लिकेशन ऑटोमेशन के भाग के रूप में स्वचालित किया गया है। ऐसे कई उपयोग मामले या विशेषताएं हैं जिनका आप यहां उल्लेख कर सकते हैं, जैसे: 

  • ImageData सत्यापन।
  • TestCase प्रबंधन उपकरण के माध्यम से TestCases को स्वचालित करना।
  • निष्पादन समय को कम करने के लिए प्रत्येक ब्राउज़र से अलग-अलग ब्राउज़रों और कई सत्रों में समानांतर निष्पादन।
  • विंडो आधारित एकीकरण और ऐसे उपयोग मामलों को स्वचालित करना आदि।

सेलेनियम ढांचे में लॉगिंग परिदृश्यों को कैसे डिज़ाइन करें?

आप लॉगिंग के लिए log4j का उपयोग कर सकते हैं, या आप ग्रेवलॉग के साथ रीयल-टाइम लॉगिंग और डीबगिंग डैशबोर्ड कार्यान्वयन का उपयोग कर सकते हैं, जो मूल रूप से वास्तविक समय लॉगिंग और डीबगिंग विवरण के लिए बैकएंड में ElasticSearch का उपयोग करता है।

रूपरेखा डिज़ाइन करते समय आपने कौन से डिज़ाइन पैटर्न का उपयोग किया है?

आप ऑटोमेशन ढांचे की जरूरत और डिजाइन के अनुसार विभिन्न डिजाइन पैटर्न का उपयोग कर सकते हैं, जैसे:

  • विभिन्न ब्राउज़रों जैसे कि स्थानीय ड्राइवर, रिमोट ड्राइवर, ईवेंट ड्राइवर आदि के साथ कई ब्राउज़र (क्रोम, IE, फ़ायरफ़ॉक्स, आदि) के लिए ड्राइवर ब्राउज़र कार्यान्वयन के लिए फ़ैक्टरी डिज़ाइन पैटर्न।
  • सार फैक्टरी डिजाइन पैटर्न।
  • कॉन्फ़िगरेशन संबंधित डेटा के लिए विन्यासकर्ता के लिए सिंगलटन डिज़ाइन पैटर्न (गुण डेटा लोड या यमल डेटा लोड)।

महत्वपूर्ण या अग्रिम सेलेनियम साक्षात्कार प्रश्न:

आप अपने स्वचालन स्क्रिप्ट को समानांतर रूप से कितने तरीके से चला सकते हैं?

ऐसे कई तरीके और तरीके हैं जिनके माध्यम से आप अपनी टेस्ट स्क्रिप्ट को समानांतर रूप से चला सकते हैं, जैसे: 

  • Testng.xml और उपयोग के माध्यम से TestNG के साथ समानांतर और थ्रेड-काउंट पैरामीटर।
  • नीचे दिए गए दृष्टिकोण में बिल्ड टूल जैसे मावेन / ग्रैड बिल्ड टूल के साथ: 

मावेन:

अचूक प्लगइन का उपयोग करना: 

 सच

यहाँ कांटा गिनती समानांतर धागों की संख्या का प्रतिनिधित्व करती है।

ग्रेडेल: 

tasks.withType(Test) {
        maxParallelForks = Runtime.runtime.availableProcessors()
    }

सेटस्पीड () और स्लीप () के तरीकों में क्या अंतर है?

सेलेनियम में setSpeed ​​() विधि मूल रूप से प्रत्येक और हर क्रिया / कमांड के निष्पादन की गति निर्धारित करती है। 

तो चलिए बताते हैं कि अगर आप सेट करें ("2000"), तो निष्पादन की प्रत्येक पंक्ति 2000 मिलीसेकंड तक देरी हो जाएगी। 

दूसरी ओर, थ्रेड.सेलेप () 3000 मिली सेकेंड की देरी का परिचय देगा (यह विशिष्ट ऑपरेशन के लिए थ्रेड को निलंबित कर देगा)। 

इसलिए नींद () 1 ऑपरेशन पर लागू होती है; दूसरी ओर, setSpeed ​​() प्रत्येक और हर ऑपरेशन के लिए देरी का परिचय देता है और इस प्रकार निष्पादन की गति निर्धारित करता है।  

सेलेनियम के साथ एक स्क्रॉलबार की उपस्थिति को कैसे सत्यापित करें? 

सेलेनियम के साथ वेबपेज में क्षैतिज स्क्रॉल बार को सत्यापित करने के लिए, हम नीचे दिए गए तरीके से Javascriptexecutor का उपयोग करते हैं: 

JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfHorizontalScroll = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollWidth>document.documentElement.clientWidth;");

सेलेनियम वेबड्राइवर का उपयोग करके वेबपेज में वर्टिकल स्क्रॉल बार को सत्यापित करने के लिए भी हमें Javascriptexecutor का उपयोग करना होगा: 

JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfVerticalScroll  = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollHeight>document.documentElement.clientHeight;");

सेलेनियम वेबड्राइवर में किसी भी छिपे हुए वेब तत्वों को संभालने के लिए कोड लिखें?

WebElement element=driver.findElement(By.id("id_of_Element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor)driver;
jsExecutor.executeScript("arguments[0].click();", element);

सेलेनियम वेबड्राइवर का उपयोग करके विंडो आधारित पॉप अप को संभालने के लिए विभिन्न तरीकों का उल्लेख करें?

आप विंडो आधारित एप्लिकेशन जैसे विंडो पॉप अप को संभालने के लिए नीचे दिए गए तरीकों का उपयोग कर सकते हैं: 

  • रोबोट क्लास के साथ 
  • सेलेनियम में कीज़ क्लास के साथ
  • सिकली के एकीकरण के साथ
  • AutoIt और याकूब (जावा कॉम ब्रिज) के एकीकरण के साथ 

WebDriver का मूल इंटरफ़ेस क्या है?

खोज प्रसंग

POI और JXL जार के बीच महत्वपूर्ण अंतर का उल्लेख करें?

POI सशर्त स्वरूपण, समृद्ध पाठ स्वरूपण या xlsx प्रारूप का समर्थन करता है, लेकिन दूसरी ओर, JXL इनमें से किसी भी विशेषता का समर्थन नहीं करता है।

JXL की तुलना में POI लाइब्रेरी का रखरखाव और अद्यतन किया जाता है।

आप सेलेनियम का उपयोग करके अपने नेटवर्क के विलंब को कैसे संभालेंगे?

हम सेलेनियम में नेटवर्क विलंबता को संभालने के लिए निम्नलिखित का उपयोग कर सकते हैं: 

Driver.manage.pageloadingtime

सेलेनियम वेबड्राइवर के साथ अजाक्स सामग्री परीक्षण को संभालने के लिए आप क्या दृष्टिकोण अपनाएंगे?

AJAX मूल रूप से अतुल्यकालिक जावास्क्रिप्ट और XML है। AJAX आधारित एप्लिकेशन का सभी संचार अतुल्यकालिक कॉल पर आधारित है, 

जो वेबपेज को रिफ्रेश किए बिना किसी भी घटना को करने की अनुमति देता है। प्रत्येक ऑपरेशन अन्य घटनाओं से स्वतंत्र रूप से किया जा सकता है।

सेलेनियम वेबड्राइवर में AJAX कॉल के साथ काम करते समय क्या चुनौतियां हैं?

  • AJAX में, DOM पेज आंशिक कोड एक क्रिया के बाद उत्पन्न / संशोधित होता है, जबकि DOMM पेज एक ही रहता है।
  • बी। AJAX अनुप्रयोगों पर अच्छी तरह से परिभाषित अभिकथन करना आसान नहीं है।
  • C. आपको समय समाप्त होने तक घटनाओं को लगातार सुनते रहना होगा, और कभी-कभी उस पर आधारित कार्रवाई करनी होगी 
  • यह प्रकृति में छिटपुट हो जाता है।
  • D. लंबे समय तक प्रतीक्षा समय स्क्रिप्ट और ब्राउज़र को धीमा कर देता है, और कई बार ब्राउज़र मृत हो सकता है।

AJAX एप्लिकेशन के साथ काम करने के लिए, आपको उपर्युक्त उपयोग के मामलों की प्रतीक्षा करने की आवश्यकता हो सकती है: 

  • निहित प्रतीक्षा करें
  • स्पष्ट प्रतीक्षा करें 
  • धाराप्रवाह प्रतीक्षा 
  • गति सेट करें
  • थ्रेड। स्लीप
  • वेबड्राइवररुको

सेलेनियम वेबड्राइवर में प्रॉक्सी के साथ काम करने का तरीका क्या है?

दो अलग-अलग दृष्टिकोण हैं जिन्हें आप सेलेनियम वेबड्राइवर में प्रॉक्सी को संभाल सकते हैं: 

  • ब्राउज़र इंस्टेंस को कताई करते समय वांछित क्षमताओं में प्रॉक्सी सेटिंग पास करें।
  • ब्राउज़र प्रॉक्सी को मैन्युअल रूप से सेट करके 
Proxy proxy=new Proxy();
proxy.setHttpProxy("localhost:8889");
DesiredCapabilities capabilities=new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver=new FirefoxDriver(capabilities);

WebDriver में सिंक्रोनाइज़ेशन प्राप्त करने के तरीकों का उल्लेख करें?

हम अलग-अलग प्रतीक्षा तंत्र का उपयोग करके सेलेनियम वेबड्राइवर में सिंक्रनाइज़ेशन को संभाल सकते हैं: 

  • निहितार्थ
  • अलग-अलग अपेक्षित स्थितियों के साथ ExplicitWait।
  • फ्लुएंटविट

TestNg @BeforeTest और @BeforeMethod के बीच प्रमुख अंतर का उल्लेख करें? 

TestNg में @BeforeTest और @BeoreMethod के अलग-अलग पहलू हैं:

  • @beforeMethod: कोड का यह ब्लॉक, अर्थात, इस एनोटेशन के साथ विधि, TestNG की प्रत्येक और हर @test विधि से पहले एक बार निष्पादित हो जाती है
  • @beforetest: इस एनोटेशन के साथ विधि TestNG.xml के प्रत्येक और प्रत्येक टेस्टटैग से पहले एक बार निष्पादित हो जाती है।

सेलेनियम में मौजूद विभिन्न प्रकार के वेबड्राइवर एपीआई की सूची दें?

  • क्रोम ड्राइवर
  • फ़ायरफ़ॉक्स चालक
  • गेको चालक
  • InternetExplorer ड्राइवर
  • सफ़ारी चालक
  • ओपेरा चालक
  • htmlunit ड्राइवर
  • फैंटमजोकाइवर
  • Android ड्राइवर
  • iPhone ड्राइवर
  • EventFiringWebDriver

कितने तरीकों से आप सेलेनियम के साथ सिर रहित निष्पादन प्राप्त कर सकते हैं?

हम सेलेनियम के साथ सिर रहित स्वचालन को प्राप्त करने के लिए नीचे के ड्राइवरों का उपयोग कर सकते हैं: 

  • फैंटमजोकाइवर
  • htmlunit ड्राइवर

सेलेनियम वेबड्राइवर में धाराप्रवाह प्रतीक्षा क्या है?

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

यदि शर्त पूरी हो जाती है, तो यह सच हो जाएगा, और यदि नहीं, तो यह "ElementNotVoubleException" अपवाद को फेंक देगा।

सेलेनियम में धाराप्रवाह का वाक्य विन्यास है:

Wait fluentWait = new FluentWait(driver).withTimeout(100, TimeUnit.SECONDS)
  .pollingevery(2, TimeUnit.SECONDS)
  .ignoring(ElementNotVisibleException.class);

`सेलेनियम वेबड्राइवर के साथ काम करने के दौरान आपको मिले कुछ सेलेनियम अपवादों के बारे में बताएं?

  • वेबड्राइवर अपवाद
  • NoSuchElementException
  • StaleElementReferenceException
  • समयबाह्य अपवाद
  • NoAlertPresentException
  • NoSuchWindowException
  • अवैध

आप सेलेनियम में कुकीज़ कैसे हटाते हैं?

सेलेनियम में कुकीज़ को हटाने का आदेश है: 

driver.manage().deleteAllCookies();

दृष्टिकोण स्पष्ट करें कि आप सेलेनियम वेबड्राइवर में जावास्क्रिप्ट चर कैसे पढ़ते हैं?

हमें ऐसा करने में सक्षम होने के लिए JavascriptExecutor का उपयोग करने की आवश्यकता है। 

JavascriptExecutor jsExecutor = (JavascriptExecutor) webdriver;
String jsVariable = (String.valueOf(jsExecutor.executeScript("return document.title")));

सेलेनियम में ज़ूम इन और ज़ूम आउट ब्राउज़र ऑपरेशन कैसे करें?

हम सेलेनियम में दो अलग-अलग तरीकों का उपयोग करके ज़ूम इन और ज़ूम आउट ऑपरेशन कर सकते हैं, जैसे: 

  • सेलेनियम में रोबोट वर्ग
  • सेलेनियम में कीज़ क्लास 

सेलेनियम में रोबोट वर्ग का उपयोग करके ज़ूम इन करें

Robot robotInstance = new Robot();
//Zoom in

robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);

सेलेनियम में रोबोट वर्ग का उपयोग करके ज़ूम आउट करें


Robot robotInstance = new Robot();
robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);

सेलेनियम में कीज़ क्लास का उपयोग करके ज़ूम इन करें

driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.ADD));

सेलेनियम में रोबोट वर्ग का उपयोग करके ज़ूम आउट करें

driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.SUBTRACT));

स्पष्ट () पद्धति का उपयोग किए बिना सेलेनियम में फ़ील्ड को कैसे साफ़ करें?

हम नीचे के दृष्टिकोण में स्पष्ट () पद्धति का उपयोग किए बिना किसी भी क्षेत्र को साफ कर सकते हैं: 

हम उसी को प्राप्त करने के लिए सेलेनियम में कीज़ क्लास का उपयोग कर सकते हैं: 

WebElement element = driver.findElement(By.id("id_of_Element"));
element.sendKeys(Keys.chord(Keys.CONTROL, "a"));
element.sendKeys(Keys.DELETE);

सेलेनियम में विफल परीक्षण मामलों को फिर से कैसे करें?

हम नीचे के दो दृष्टिकोणों में सेलेनियम में असफल परीक्षण के मामलों को फिर से जोड़ सकते हैं:

स्वतः जनरेट किए गए TestNG-fail.xml के साथ:

परीक्षण निष्पादन के बाद (testng.xml से चलाया गया), TestNG स्वचालित रूप से TestNG-fail.xml उत्पन्न करता है; आप केवल असफल परीक्षण चलाने के लिए एक ही XML को फिर से चला सकते हैं।

लागू करके टेस्टनेट से IRetryAnalyzer इंटरफ़ेस :

IRetryAnalyzer के इंटरफ़ेस को लागू करके हम स्वचालित रूप से TestNg के साथ असफल परीक्षण के मामलों को फिर से जोड़ सकते हैं:


If you implement the IRetryAnalyzer you can auto rerun  failed test with TestNg :

public class Retry implements IRetryAnalyzer {
   int counter = 1;
   int retryMaxLimit = 3;
   public boolean retry(ITestResult result) {
       if (counter < retryMaxLimit) {
           counter++;
           return true;
       }
       return false;
   }
}

सेलेनियम वेबड्राइवर में तत्व को कैसे हाइलाइट करें?

हम तत्व का उल्लेख करके Webelement के रंग को सेट करने के लिए JavascriptExecutor का उपयोग कर सकते हैं।


WebElement element = driver.findElement(By.xpath("id_of_the_element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].setAttribute('style', 'background: red; border: 2px solid red;');", element);

सेलेनियम में डबल क्लिक कैसे करें?

नीचे के तरीके में DoubleClick संचालन करने के लिए हम सेलेनियम में क्रियाएँ वर्ग का उपयोग कर सकते हैं। नीचे दी गई विधि एक तर्क लेती है जिस पर आपको DoubleClick का प्रदर्शन करना होगा।

public void doubleClick(By locator) {
		try {
			WebElement element = driver.findElement(locator);
			Actions actions = new Actions(driver).doubleClick(element);
			BASE_LOGGER.info("Performed the double Click on the Element  : " + locator);
		} catch (StaleElementReferenceException e) {
			BASE_LOGGER.error("Element is not attached to the page document " + e.getCause().getMessage());
		} catch (NoSuchElementException e) {
			BASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage());
		} catch (Exception e) {
			BASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage());
		}
	}

सेलेनियम में स्क्रॉल कैसे करें?

स्क्रॉल करने के लिए हमें जावास्क्रिप्ट का उपयोग करने की आवश्यकता है, और नीचे दी गई विधि तत्व में स्क्रॉल करने के लिए एक उन्नत दृष्टिकोण प्रदान करती है जब तक कि तत्व दिखाई नहीं देता है, जो कि स्क्रॉल में है: 

public void scrollIntoView(By locator) {

  try {
     JavascriptExecutor executor = (JavascriptExecutor) driver;
     WebElement element = driver.findElement(locator);
     executor.executeScript("arguments[0].scrollIntoView(true);", element);
     BASE_LOGGER
           .info("scrollIntoView operation has been performed for the locator : " + String.valueOf(element));
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing scrollIntoView on the element : " + locator);

  }

}

सेलेनियम में पेज पर सभी लिंक कैसे प्राप्त करें?

हम पेज पर उपलब्ध सभी लिंक्स को लाने के लिए By.tagName ("a") का उपयोग कर सकते हैं, जो लिंक को टैग के रूप में संदर्भित करता है जिसे a कहा जाता है; विधि नीचे तरीके से जाती है: 

public List<WebElement> getAllLinks() {

  try {
     List<WebElement> allLinks = driver.findElements(By.tagName("a"));
     int numberOfLinks = allLinks.size();
     BASE_LOGGER.info("Number of Links in the Current Page is : " + numberOfLinks);
     BASE_LOGGER.info("GetAllLinks operation has been performed for the Current Page : ");
     return allLinks;
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing GetAllLinks for the Current Page :");
     return null;
  }

}

सेलेनियम में एक पृष्ठ पर iframes की संख्या कैसे पता करें?

हम सेलेनियम में एक पृष्ठ में iframes की संख्या का पता लगाने के लिए नीचे दी गई विधि का उपयोग कर सकते हैं:

public int numberOfIframesInPage() {
  try {
     JavascriptExecutor exe = (JavascriptExecutor) driver;
     Integer numberOfIFrames = Integer.parseInt(exe.executeScript("return window.length").toString());
     BASE_LOGGER.info("Number of IFrames in the current Window are : " + numberOfIFrames);
     return numberOfIFrames;

  } catch (Exception e) {
     BASE_LOGGER
           .error("Exception occurred in Finding numberOfIframesInPage with : " + e.getCause().getMessage());
     return 0;
  }

}

सेलेनियम वेबड्राइवर में डिफ़ॉल्ट फ्रेम में कैसे स्विच करें?

हम सेलेनियम वेबड्राइवर में डिफ़ॉल्ट फ्रेम पर स्विच करने के लिए switchTo ()। DefaultContent () विधि का उपयोग कर सकते हैं: 

public void switchToDefaultFrame() {
  try {
     driver.switchTo().defaultContent();
     BASE_LOGGER.info("Switched to Default Content ");
  } catch (Exception e) {
     BASE_LOGGER.error("Exception Occurred while switching to default Content ");
  }
}

सेलेनियम में टैब कैसे संभालें?

हम उपलब्ध टैब को स्टोर करने के लिए एक सूची का उपयोग कर सकते हैं और टैब को स्टोर करने के लिए Driver.getWindowHandles () का उपयोग कर सकते हैं, और एक बार इसके बाद, हम नीचे दिए गए दृष्टिकोण में एक-एक करके टैब को संभाल सकते हैं, जैसे: 

public void switchToTab(int indexOfTab) {

  try {

     ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
     driver.switchTo().window(tabs.get(indexOfTab));
     BASE_LOGGER.info("Successfully switched to tab with tab index as : " + indexOfTab);
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error(
           "Unable to Switch to Tab for :" + indexOfTab + " i.e failed with exception as : " + exceptionData);

  }



}

इंटरमीडिएट सेलेनियम साक्षात्कार प्रश्न

WebDriver एक वर्ग या एक इंटरफ़ेस है?

Webdriver एक ऐसा इंटरफ़ेस है जहाँ सभी ड्राइवर वर्ग जैसे ChromeDriver, FirefoxDriver एक ऑब्जेक्ट बनाते हैं और वेबड्राइवर इंटरफ़ेस के संदर्भ को संदर्भित करते हैं।

कौन सा तेज़ है, XPath, या CSS?

XPath की तुलना में CSS तेज है। 

सीएसएस XPath से अधिक तेज़ क्यों है?

प्रत्येक ब्राउज़र इंजन अलग है, और इसलिए लिखित XPath के माध्यम से पार्सिंग रणनीति और इंजन कार्यान्वयन अलग हैं। यही कारण है कि XPath को पार्स करना कई बार असंगत हो जाता है; उदाहरण के लिए, IE में XPATH को पार्स करने के लिए अपना स्वयं का इंजन कार्यान्वयन नहीं है; इसलिए सेलेनियम IE में XPATH को पार्स करने के लिए अपने स्वयं के मूल XPath इंजन को इंजेक्ट करता है। 

उन्नत विशेषाधिकार प्राप्त ब्राउज़र क्या है?

जब ब्राउज़र कुछ पूर्वनिर्धारित सेटिंग्स (विशेष विशेषाधिकार वाले मोड के साथ) जैसे कुछ प्रोफ़ाइल या प्रमाणपत्रों के साथ खोले जाते हैं, तो इसे उन्नत विशेषाधिकार प्राप्त ब्राउज़र सत्र कहा जाता है। 

हम एक ही उद्देश्य के लिए प्रोफाइलिंग के साथ सेलेनियम के साथ एक ब्राउज़र लॉन्च कर सकते हैं या प्रमाण पत्र सेट कर सकते हैं।

हेडलेस ब्राउज़र सेलेनियम क्या है और हम हेडलेस ब्राउज़र परीक्षण कैसे करते हैं?

  एक बिना सिर वाला ब्राउज़र उस ब्राउज़र के लिए एक सिमुलेशन प्रोग्राम है, जहाँ हमारे पास UI नहीं है, लेकिन हम अभी भी एप्लिकेशन को अदृश्य मोड में परीक्षण के तहत चला सकते हैं 

 और पृष्ठभूमि में वांछित वेब ऑपरेशन करें।

 हम हेडलैस ब्राउजर ड्राइवरों जैसे एचटीएमएलआईटी ड्राइवर या फैंटम जेएस ड्राइवर का उपयोग हेडलेस ब्राउजर टेस्टिंग करने के लिए करते हैं।

सेलेनियम बनाम कठपुतली? 

सेलेनियम और कठपुतली के बीच कई अंतर हैं (जो सेलेनियम की तुलना में एक नया उपकरण है और Google Chrome DEV द्वारा विकसित किया गया है)

हम यहां विभिन्न पहलुओं में सेलेनियम वीएस प्यूपीटर के बीच तुलना पर चर्चा करेंगे: 

  • स्थापना: सेलेनियम की तुलना में कठपुतली को स्थापित करना आसान है।
  • कठपुतली अब तक केवल क्रोम का समर्थन करती है; सेलेनियम ब्राउज़रों की एक विस्तृत श्रृंखला का समर्थन करता है।
  • कठपुतली के लिए मूल भाषा नोड जेएस है; दूसरी ओर, सेलेनियम कई भाषाओं का समर्थन करता है।
  • Puppeteer सेलेनियम से तेज है।
  • कठपुतली को Google Chrome देव द्वारा विकसित और रखरखाव किया जाता है, और दूसरी ओर, सेलेनियम में खुला स्रोत समुदाय समर्थन है

हार्डसेटर बनाम सॉफ्टएसेटर?

दोनों का दृष्टिकोण टेस्टनेग से है, और उनमें से प्रत्येक के पास अपने संबंधित पक्ष और विपक्ष हैं

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

 जब आप ऐसी परिस्थितियों में होते हैं, जहां आपको एक जोर की जरूरत होती है, तो यह स्पष्ट है कि, उस कदम के बिना, स्क्रिप्ट के शेष चरणों को निष्पादित करने का कोई मतलब नहीं है, तो आप हार्ड एसेर को वहां रख सकते हैं।

 सेलेनियम में विंडो का आकार कैसे सेट करें?

हम डायमेंशन क्लास का ऑब्जेक्ट बना सकते हैं और उस ऑब्जेक्ट को सेट करने के लिए पास कर सकते हैं () विधि: 

Dimension dimension = new Dimension(480,700);
driver.manage().window().setSize(dimension);

सेलेनियम के साथ काम करते समय आपके द्वारा उपयोग किए जाने वाले संस्करण नियंत्रण प्रणाली क्या है?

आप जो भी VCS उपयोग करते हैं, जैसे कि Github, SVN, इत्यादि का उल्लेख कर सकते हैं।

कैसे एक git रेपो क्लोन करने के लिए?

हम git रेपो का उपयोग करके क्लोन कर सकते हैं:

Git clone repo

Git repo कोड कैसे खींचें?

Git pull remoteRepoURL branchName

रेपो को पिन करने के लिए कोड को कैसे पुश करें?

Git push remoteURL branchName

रिमोट कैसे सेट करें? 

git remote add ProvideARemoteName remoetURL

उपलब्ध रिमोट को कैसे सत्यापित करें?

Git remote -v 

वर्तमान में आप किस दूरस्थ URL की जाँच करें? 

git config --get remote.origin.url

आप जेनकिंस के साथ अपने ढांचे को कैसे एकीकृत कर सकते हैं?

सेलेनियम ऑटोमेशन फ्रेमवर्क के हिस्से के रूप में, हम बिल्ड टूल्स (जैसे मावेन / ग्रैडल) का उपयोग कर रहे हैं, और हम जेनसीन्स जॉब बना सकते हैं और वीसीएस (यानी, जीथब, आदि) के साथ कॉन्फ़िगरेशन प्रदान करके मावेन / ग्रैडल को जोड़ सकते हैं।

सिकली के नुकसान क्या हैं?

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

सेलेनियम का उपयोग करके डेटाबेस परीक्षण कैसे करें?

हम नीचे मॉड्यूलर दृष्टिकोण में सेलेनियम का उपयोग करके डेटाबेस परीक्षण कर सकते हैं: 

  • जावा JDBC के साथ सेलेनियम डेटाबेस कनेक्शन। 
  • DB स्टेटमेंट बनाएं। 
  • SQL क्वेरी निष्पादित करने और डेटा वापस करने के लिए स्टेटमेंट का उपयोग करें। 
  • डेटाबेस कनेक्शन को बंद करना।

उपरोक्त चरणों के लिए नीचे कोड स्निपेट दिया गया है: 

सेलेनियम डेटाबेस कनेक्शन JAVA JDBC के साथ सेटअप और DB स्टेटमेंट बनाता है: 

   static Connection connection = null;
   private static Statement statement;
   public static String DataBase_URL = "DB_URL";
   public static String DataBase_USER = "DB_UserName";
   public static String DataBase_PASSWORD = "DB_password";



   /* This method Creates the connection with Java JDBC and return it to the Test method to use along with statement 
   */
@BeforeTest
   public void setUp() throws Exception {
       try{

           String dbClass = "com.mysql.cj.jdbc.Driver";
           Class.forName(dbClass).newInstance();
           Connection con = DriverManager.getConnection(DataBase_URL, DataBase_USER, DataBase_PASSWORD);
           statement = con.createStatement();
       }
       catch (Exception e)
       {
           e.getCause().getMessage().toString();

       }


   }

SQL के साथ DB को क्वेरी करने के लिए कथन का उपयोग करें: 

@Test
public void test() {
   try{
       String queryData = "select * from TableName";

       ResultSet res = statement.executeQuery(queryData);
       while (res.next())
       {
           System.out.print(res.getString(1));
           System.out.print(" " + res.getString(2));
       }
   }
   catch(Exception e)
   {
       e.getMessage();
   }
}

डेटा कनेक्शन बंद करना: 

यह चरण बहुत महत्वपूर्ण है; अन्यथा, हम उपयोग के बाद उन्हें बंद किए बिना कई डेटाबेस कनेक्शन बना सकते हैं, जो कई मुद्दों का कारण हो सकता है। 

यहाँ उसी के लिए कोड स्निपेट दिया गया है: 

@AfterTest
public void tearDown() throws Exception {

   if (connection != null) {
       connection.close();
   }
}

सेलेनियम का उपयोग करके वेबइमेन्ट की पृष्ठभूमि का रंग और रंग कैसे सत्यापित करें? 

हमें नामक विधि का उपयोग करने की आवश्यकता है getCssValue ("रंग") रंग को पुनः प्राप्त करने के लिए एक वसीयतनामा और getCssValue ("पृष्ठभूमि-रंग") एक webelement की पृष्ठभूमि रंग खींचने के लिए।

यहाँ कोड स्निपेट है: 

String colour  = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("color");

String backgroundColour = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("background-color");

सेलेनियम वेबड्राइवर का उपयोग करके वेबइलमेंट के फ़ॉन्ट-आकार को कैसे सत्यापित किया जाए? 

हम getCssValue नामक विधि का उपयोग कर सकते हैं ("फ़ॉन्ट-आकार")

String fontSize  = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-size");

सेलेनियम वेबड्राइवर में एक webelement के फ़ॉन्ट प्रकार को कैसे सत्यापित करें? 

String fontSize = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-type");

सेलेनियम में टूलटिप टेक्स्ट कैसे प्राप्त करें?

WebElement का टूलटिप पाठ प्राप्त करना कुछ नहीं है, लेकिन नीचे दिए गए तरीके से Webelement का शीर्षक विशेषता प्राप्त करना है: 

public String getToolTipData(By locator){

   WebElement element=driver.findElement(locator);
   return element.getAttribute("title");
}

StaleElementException क्या है? 

बासी तत्व का अर्थ है कि जब कोई वेब तत्व DOM / WebPage के साथ संलग्न नहीं है, जो पहले मौजूद था। उस मामले में, सेलेनियम एक बासीलेमेंटसेप्शन फेंकता है।

यह कई कई कारणों से हो सकता है जैसे AJAX या जावास्क्रिप्ट कॉल के कारण जो राज्य को बदलता है

तत्व का यह DOM से अनुपलब्ध / अलग किया गया है।  

निष्कर्ष : इनके साथ हम सेलेनियम फ्रेमवर्क साक्षात्कार प्रश्नों को कवर करने वाले महत्वपूर्ण सेलेनियम साक्षात्कार प्रश्नों के सेट के साथ कर रहे हैं, गहराई में जाने के लिए यहां पढ़ें सेलेनियम की अवधारणाएं सेलेनियम की वास्तुकला को समझने के लिए।

देबर्घ्य के बारे में

71+ अनवांटेड क्रिटिकल सेलेनियम साक्षात्कार प्रश्नस्वंय देवबर्घ्य रॉय, मैं एक इंजीनियरिंग शाखा हूं, जो 5 कंपनी और एक ओपन सोर्स योगदानकर्ता के साथ काम कर रही है, जिसके पास विभिन्न टेक्नोलॉजी स्टैक में 12 साल का अनुभव / विशेषज्ञता है।
मैंने जावा, सी #, पायथन, ग्रूवी, यूआई ऑटोमेशन (सेलेनियम), मोबाइल ऑटोमेशन (एपियम), एपीआई/बैकएंड ऑटोमेशन, परफॉर्मेंस इंजीनियरिंग (जेएमटर, टिड्डी), सुरक्षा ऑटोमेशन (मोबएसएफ, ओडब्ल्यूएएसपी, काली लिनक्स) जैसी विभिन्न तकनीकों के साथ काम किया है। , एस्ट्रा, जैप आदि), आरपीए, प्रोसेस इंजीनियरिंग ऑटोमेशन, मेनफ्रेम ऑटोमेशन, स्प्रिंगबूट के साथ बैक एंड डेवलपमेंट, काफ्का, रेडिस, रैबिटएमक्यू, ईएलके स्टैक, ग्रेलॉग, जेनकिंस और क्लाउड टेक्नोलॉजीज, देवओप्स आदि में भी अनुभव है।
मैं अपनी पत्नी के साथ बैंगलोर, भारत में रहता हूं और ब्लॉगिंग, संगीत, गिटार बजाने का शौक रखता हूं और मेरे जीवन का दर्शन सभी के लिए शिक्षा है जिसने लैम्ब्डागीक्स को जन्म दिया। आइए लिंक्ड-इन पर कनेक्ट करें - https://www.linkedin.com/in/debarghya-roy/

एक टिप्पणी छोड़ दो

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड चिन्हित हैं *

en English
X