Selenium इंटरव्यू सवाल

द्वारा Aaron Cao · अपडेट

Selenium इंटरव्यू सवाल
Selenium इंटरव्यू में मुख्य रूप से waits, locators, Page Object Model और यह ध्यान में रखा जाता है कि टेस्ट अस्थिर (flaky) क्यों हो जाते हैं। आपको implicit और explicit wait में अंतर समझाना आना चाहिए, XPath की जगह CSS चुनने का कारण बताकर उसका बचाव करना आना चाहिए, एक पुराने हो चुके एलिमेंट (stale element) की त्रुटि हल करना आना चाहिए, और यह बताना आना चाहिए कि आपका framework टेस्ट को समानांतर (parallel) में कैसे चलाता है।

Selenium इंटरव्यू में मुख्य रूप से waits, locators, Page Object Model और यह ध्यान में रखा जाता है कि टेस्ट अस्थिर (flaky) क्यों हो जाते हैं। आपको implicit और explicit wait में अंतर समझाना आना चाहिए, XPath की जगह CSS चुनने का कारण बताकर उसका बचाव करना आना चाहिए, एक पुराने हो चुके एलिमेंट (stale element) की त्रुटि हल करना आना चाहिए, और यह बताना आना चाहिए कि आपका framework टेस्ट को समानांतर (parallel) में कैसे चलाता है।

इंटरव्यू लेने वाले waits और locators के बारे में क्या पूछते हैं?

आपने ऐसे टेस्ट लिखे हैं जो लोकल में पास होते हैं लेकिन पाइपलाइन में फेल हो जाते हैं, और आपको शक है कि जवाब waits से जुड़ा है, पर आप इसे साफ़ तरीके से बता नहीं पाते। इंटरव्यू लेने वाले यह जानते हैं, इसलिए waits ज़्यादातर Selenium राउंड की शुरुआत करते हैं। यह सेक्शन बताता है कि एक पूरा जवाब कैसा सुनाई देना चाहिए।

  • Implicit versus explicit wait. Implicit wait एक ग्लोबल सेटिंग है जो हर बार खोज करने पर एलिमेंट के मौजूद होने के लिए पोल करती है। Explicit wait एक ही एलिमेंट और एक ही शर्त, जैसे clickable या visible, को टारगेट करता है। Explicit को इसलिए पसंद किया जाता है क्योंकि यह साफ़ बताता है कि आप किसका इंतज़ार कर रहे हैं।
  • दोनों को मिलाना क्यों नहीं चाहिए? दोनों को साथ इस्तेमाल करने से टाइमआउट ऐसे तरीके से जुड़ सकते हैं जिनका अंदाज़ा लगाना मुश्किल है, इसीलिए ज़्यादातर टीमें implicit wait को शून्य पर सेट करके पूरे समय explicit wait इस्तेमाल करती हैं।
  • Fluent wait क्या है? एक explicit wait जिसमें पोलिंग इंटरवल कॉन्फ़िगर किया जा सकता है और कुछ खास exception types को अनदेखा किया जाता है।
  • Thread.sleep गलत क्यों है? क्योंकि यह बिना शर्त है। यह पास होने वाले टेस्ट को धीमा कर देता है और फिर भी धीमे टेस्ट को फेल कर देता है।
  • CSS selector या XPath? पहले एक स्थिर टेस्ट-विशेष पहचान attribute को प्राथमिकता दें, फिर पढ़ने में आसान CSS को। XPath तब काम आता है जब आपको parent तक जाना हो या टेक्स्ट से मैच करना हो।
  • locator को नाज़ुक क्या बनाता है? ऑटो-जनरेट किए गए class नाम, absolute XPath, और index पर आधारित चुनाव। बताएं कि इसकी जगह आप किसी डेवलपर से क्या जोड़ने के लिए कहेंगे।

इंटरव्यू लेने वाले हर चुनाव के पीछे की वजह सुनना चाहते हैं। बिना लागत बताए सिर्फ़ पसंद बताना रटा हुआ जवाब जैसा लगता है।

Exception और अस्थिरता (flakiness) से जुड़े सवालों का जवाब कैसे दें?

अस्थिर टेस्ट ही ज़्यादातर सीनियर automation इंटरव्यू का असली विषय होते हैं, क्योंकि ऐसी suite जिस पर किसी को भरोसा नहीं, वह suite न होने से भी बदतर है।

  • StaleElementReferenceException किस वजह से आता है? एलिमेंट का reference ऐसे node की ओर इशारा करता है जो अब attached नहीं है, आमतौर पर इसलिए क्योंकि framework ने पेज के उस हिस्से को दोबारा render किया। पुराने संग्रहीत reference को फिर से इस्तेमाल करने के बजाय एलिमेंट को दोबारा खोजें।
  • ElementNotInteractableException के बारे में क्या? एलिमेंट मौजूद है लेकिन उस पर कोई कार्रवाई नहीं की जा सकती: वह छिपा है, disabled है, किसी overlay से ढका है, या स्क्रीन से बाहर है।
  • NoSuchElementException को कैसे संभालें? टाइमिंग की समस्या और सचमुच गायब एलिमेंट के बीच फ़र्क़ करें, और लंबे wait से समस्या को छिपाएं नहीं।
  • टेस्ट सिर्फ़ पाइपलाइन में ही क्यों फेल होते हैं? अलग viewport साइज़, धीमा एनवायरनमेंट, टेस्ट डेटा की कमी, देर से पूरी होने वाली एनिमेशन, और शेयर्ड स्टेट के लिए आपस में टकराने वाले parallel टेस्ट।
  • अस्थिर टेस्ट को कैसे ठीक करें? पहले category का निदान करें, फिर वजह को ठीक करें। Auto-retry फेलियर को छिपा देता है और इसे आखिरी उपाय के तौर पर ही बताना चाहिए।
  • Frame, नई विंडो और alert को कैसे संभालें? context को साफ़ तौर पर बदलकर, और बाद में वापस बदल कर।

मिड-लेवल automation पद के लिए इंटरव्यू दे रहे एक QA इंजीनियर से पूछा गया कि बिना किसी कोड बदलाव के एक suite हफ़्ते में दो बार फेल क्यों होती है। जो जवाब पसंद किया गया वह Selenium API की कोई बारीक बात नहीं थी, बल्कि यह था कि टेस्ट एक ही पहले से बने अकाउंट को शेयर कर रहे थे और आपस में टकरा रहे थे। इंटरव्यू लेने वाले इसी निदान क्रम को अहमियत देते हैं: पहले एनवायरनमेंट और डेटा, फिर API।

भूमिका और टूल के हिसाब से और सवालों के लिए भूमिका के अनुसार इंटरव्यू सवाल देखें।

Framework और architecture से जुड़े कौन से सवाल आते हैं?

API से आगे, पैनल यह जानना चाहते हैं कि क्या आप पूरी suite की ज़िम्मेदारी संभाल सकते हैं। ये सवाल सीनियर पदों के लिए सबसे ज़्यादा मायने रखते हैं।

  • Page Object Model समझाएं। Page क्लास actions को उजागर करती हैं और locators को छिपाती हैं, इसलिए UI में बदलाव सिर्फ़ एक फ़ाइल को छूता है। बताएं कि यह कौन-सी समस्या हल करता है; सिर्फ़ folder structure बताना मुद्दे से चूकना है।
  • Page Object में क्या गड़बड़ हो सकती है? वे हज़ार लाइन वाली क्लास में बदल जाती हैं और page methods के अंदर assertion करने लगती हैं। Assertion टेस्ट के अंदर होने चाहिए।
  • आपका framework टेस्ट को parallel में कैसे चलाता है? Thread-safe driver management जिससे instance थ्रेड के बीच शेयर न हों, साथ ही हर टेस्ट के लिए स्वतंत्र टेस्ट डेटा।
  • Selenium Grid किसलिए है? टेस्ट को कई मशीनों और ब्राउज़र वर्ज़न पर बांटने के लिए, hub और node के साथ, या एक cloud provider वही भूमिका निभाता है।
  • Selenium 4 में क्या बदला? W3C WebDriver प्रोटोकॉल स्टैंडर्ड बन गया और पुराना JSON wire protocol हटा दिया गया, relative locators आए, और Chrome DevTools Protocol तक पहुंच खोली गई।
  • Selenium कब इस्तेमाल नहीं करना चाहिए? API-लेवल जांच, unit-testable logic, और ब्राउज़र के बाहर की हर चीज़। इस सीमा को जानना ही सीनियर होने का संकेत है।
  • क्या automate करना है, यह कैसे तय करते हैं? स्थिर, ज़्यादा मूल्य वाले, बार-बार दोहराए जाने वाले रास्ते। सब कुछ नहीं, और ऐसी स्क्रीन नहीं जो अभी भी दोबारा डिज़ाइन हो रही है।

इंटरव्यू से पहले प्रैक्टिस कैसे करनी चाहिए?

Selenium के जवाब जानना आसान होता है पर बोलना असामान्य रूप से मुश्किल। खासकर wait वाला सवाल दो हिस्सों में बंटा जवाब मांगता है, परिभाषा और वजह, और जिन उम्मीदवारों ने सिर्फ़ पढ़ा है वे पहला हिस्सा बोलकर रुक जाते हैं।

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

SubcueAI के फ़ाउंडर Aaron Cao ने प्रैक्टिस को और सवाल देने के बजाय बोलने की इसी कमी के इर्द-गिर्द बनाया। असली इंटरव्यू में, desktop app और browser extension का Side Panel इंटरव्यूअर के बोलते समय structure सामने ला सकते हैं, जो उस सामग्री पर सबसे ज़्यादा मदद करता है जिसका आपने पहले से अभ्यास किया है। यह प्रोडक्ट क्या करता है, और वे सीमाएं जिन्हें यह कभी नहीं लांघता, security पेज पर बताई गई हैं।

सामान्य प्रश्न

क्या Playwright और Cypress के होते हुए भी Selenium सीखना अब भी worth है?

हां, उन कई टीमों के लिए जिनके पास पहले से बड़ी Selenium suite है, और कॉन्सेप्ट सीधे लागू होते हैं। इंटरव्यू लेने वाले तेज़ी से इन्हें compare करने के लिए कहते हैं, इसलिए auto-waiting और single-process architecture को उन वजहों के तौर पर बताने के लिए तैयार रहें जिनकी वजह से टीमें नए टूल चुनती हैं।

Selenium इंटरव्यू में मुझे कौन-सी भाषा इस्तेमाल करनी चाहिए?

वही जो जॉब डिस्क्रिप्शन में हो, आमतौर पर Java या Python। सभी bindings में API लगभग एक जैसा है, इसलिए भाषा मुख्य रूप से framework से जुड़े सवालों, test runner, dependency management, और आप प्रोजेक्ट को कैसे structure करते हैं, के लिए मायने रखती है।

क्या Selenium इंटरव्यू में live coding शामिल होती है?

अक्सर। एक आम एक्सरसाइज़ किसी public साइट पर login या search को automate करना है, जिसमें इंटरव्यूअर देखता है कि आप locator कैसे चुनते हैं और क्या आप sleep का सहारा लेते हैं। हर locator चुनते समय यह बताएं कि आपने उसे क्यों चुना।

क्या Selenium CAPTCHA या file upload डायलॉग संभाल सकता है?

CAPTCHA automation रोकने के लिए ही बनाया गया है, इसलिए मान्य जवाब यह है कि इसे टेस्ट एनवायरनमेंट में disable किया जाए या bypass token इस्तेमाल किया जाए। ऑपरेटिंग सिस्टम के native file डायलॉग ब्राउज़र के बाहर होते हैं, इसलिए आप इसके बजाय input एलिमेंट को path भेजते हैं।

क्या लाइव automation इंटरव्यू के दौरान कोई AI असिस्टेंट मेरी मदद कर सकता है?

यह इंटरव्यूअर के बोलते समय structure सामने ला सकता है, जो उस सामग्री पर सबसे अच्छा काम करता है जिसे आप पहले से जानते हैं। यह प्रैक्टिस की जगह नहीं लेता, और screen sharing, recording, proctored assessment, और कंपनी द्वारा manage किए गए डिवाइस अब भी इसके दायरे से बाहर रहते हैं।

संबंधित प्रश्न

← और देखें: भूमिका और विषय के अनुसार इंटरव्यू प्रश्न