सेलेनियम अपवाद हैंडलिंग (सामान्य अपवाद सूची)

विषय - सूची:

Anonim

एक अपवाद क्या है?

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

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

इस ट्यूटोरियल में, आप सीखेंगे:

  • एक अपवाद क्या है?
  • सेलेनियम वेब ड्राइवर में अपवाद
  • सेलेनियम अपवादों को संभालना
  • अपवाद प्रदर्शित करने के तरीके

सेलेनियम वेब ड्राइवर में आम अपवाद

अपवाद नाम विवरण
ElementNotVoubleException इस प्रकार का सेलेनियम अपवाद तब होता है जब DOM में एक मौजूदा तत्व में छिपा हुआ एक फीचर सेट होता है।
ElementNotSelectableException यह सेलेनियम अपवाद तब होता है जब कोई तत्व DOM में प्रस्तुत किया जाता है, लेकिन आप चयन करने में सक्षम हो सकते हैं। इसलिए, बातचीत करना संभव नहीं है।
NoSuchElementException यह अपवाद तब होता है यदि कोई तत्व नहीं मिला।
NoSuchFrameException यह अपवाद तब होता है जब फ़्रेम लक्ष्य को स्विच करने के लिए मौजूद नहीं है।
NoAlertPresentException यह अपवाद तब होता है जब आप बिना किसी अलर्ट के स्विच करते हैं।
NoSuchWindowException यह अपवाद तब होता है जब विंडो लक्ष्य स्विच होना मौजूद नहीं है।
StaleElementReferenceException यह सेलेनियम अपवाद तब होता है जब वेब तत्व को मौजूदा डोम से अलग किया जाता है।
SessionNotFoundException आपके द्वारा ब्राउज़र छोड़ने के बाद WebDriver अभिनय कर रहा है।
समयबाह्य अपवाद जब कोई आदेश पूरा होने के लिए पर्याप्त समय न हो तो फेंक दें। उदाहरण के लिए, खोजा गया तत्व निर्दिष्ट समय में नहीं मिला था।
WebDriverException यह अपवाद तब होता है जब WebDriver आपके ब्राउज़र को बंद करने के बाद सही कार्य कर रहा होता है।
कनेक्शन इस प्रकार का अपवाद तब होता है जब चालक में एक वियोग होता है।
ElementClickInceptceptedException आदेश पूरा नहीं हो सकता क्योंकि घटनाओं को प्राप्त करने वाला तत्व उस तत्व को छिपा रहा है जिसे क्लिक करने का अनुरोध किया गया था।
ElementNotInteractableException इस सेलेनियम अपवाद को फेंक दिया जाता है जब कोई तत्व डोम में प्रस्तुत किया जाता है। हालांकि, ऐसे तत्व के साथ बातचीत करना असंभव है।
ErrorInResponseException फ़ायरफ़ॉक्स एक्सटेंशन या रिमोट ड्राइवर सर्वर के साथ बातचीत करते समय ऐसा होता है।
ErrorHandler.UnognServerException यदि सर्वर स्टैक ट्रेस के बिना त्रुटि देता है, तो अपवाद का उपयोग प्लेसहोल्डर के रूप में किया जाता है।
ImeActivationFailedException यह अपेक्षा तब होगी जब IME इंजन सक्रियण विफल हो गया हो।
ImeNotAvailableException यह तब होता है जब IME समर्थन अनुपलब्ध होता है।
InsecureCertificateException नेविगेशन ने प्रमाण पत्र चेतावनी को हिट करने के लिए उपयोगकर्ता एजेंट बनाया। यह अमान्य या समाप्त TLS प्रमाणपत्र के कारण हो सकता है।
अमान्यकरण। अपवाद यह तब होता है जब एक तर्क अपेक्षित प्रकार का नहीं होता है।
InvalidCookieDomainException यह तब होता है जब आप वर्तमान URL के बजाय किसी अन्य डोमेन के तहत कुकी जोड़ने का प्रयास करते हैं।
अमान्य इस प्रकार का अपवाद एक इंटरैक्शन ऑपरेशन से मेल खाता है जो मान्य नहीं है।
अमान्य यह तब होता है जब तत्व अमान्य होने पर कमांड समाप्त नहीं किया जा सकता है।
अमान्य यह अपवाद तब हुआ जब दिए गए सत्र आईडी को सक्रिय सत्रों की सूची में शामिल नहीं किया गया है। इसका मतलब है कि सत्र मौजूद नहीं है या निष्क्रिय है।
अमान्य यह तब होता है जब स्विच करने के लिए फ़्रेम या विंडो लक्ष्य मौजूद नहीं होता है।
जावास्क्रिप्ट। अपवाद उपयोगकर्ता द्वारा दिए गए जावास्क्रिप्ट को निष्पादित करते समय यह समस्या होती है।
JsonException यह तब होता है जब आप सत्र नहीं बनाए जाने पर सत्र प्राप्त करने का खर्च उठाते हैं।
NoSuchAttributeException इस तरह का अपवाद तब होता है जब किसी तत्व का गुण नहीं पाया जा सकता है।
MoveTargetOutOfBoundsException यह तब होता है जब एक्शनचैन्स मूव () पद्धति को दिया गया लक्ष्य मान्य नहीं है। उदाहरण के लिए, दस्तावेज़ से बाहर।
NoSuchContextException ContextAware मोबाइल डिवाइस परीक्षण करता है।
NoSuchCookieException यह अपवाद तब होता है जब वर्तमान ब्राउज़िंग दस्तावेज़ के सभी संबद्ध कुकीज़ के लिए दिए गए पथ नाम के साथ कोई कुकी मेल नहीं खाती है।
NotFoundException यह अपवाद WebDriverException का एक उपवर्ग है। यह तब होगा जब DOM पर कोई तत्व मौजूद नहीं है।
RemoteDriverServerException यह सेलेनियम अपवाद तब फेंका जाता है जब सर्वर इस समस्या के कारण प्रतिक्रिया नहीं दे रहा है कि वर्णित क्षमताएं उचित नहीं हैं।
स्क्रीनशॉट। अपवाद स्क्रीन पर कब्जा करना संभव नहीं है।
SessionNotCreatedException यह तब होता है जब एक नया सत्र सफलतापूर्वक नहीं बनाया जा सकता था।
असमर्थितीसुच्चाक्षिपातं यह तब होता है जब कोई ड्राइवर कुकी सेट करने में असमर्थ होता है।
अनपेक्षित होता है अगर एक समर्थन वर्ग को उम्मीद के मुताबिक वेब तत्व नहीं मिला।
अनहेल्डएल्थ एक्ससेप्शन यह अपेक्षा तब होती है जब कोई अलर्ट होता है, लेकिन वेबड्राइवर अलर्ट ऑपरेशन करने में सक्षम नहीं होता है।
अनपेक्षित यह तब होता है जब एक अप्रत्याशित अलर्ट की उपस्थिति होती है।
अज्ञातमेथोडीसेप्शन यह अपवाद तब होता है जब अनुरोधित कमांड एक ज्ञात URL से मेल खाती है लेकिन किसी विशिष्ट URL के लिए कार्यप्रणाली से मेल नहीं खाती।
अप्राप्य BrowserException यह अपवाद केवल तब होता है जब ब्राउज़र किसी कारण से खोला या क्रैश नहीं हो पाता है।
UnsupportedCommandException यह तब होता है जब दूरस्थ WebDriver मान्य आदेशों को अपेक्षित रूप से नहीं भेजता है।

सेलेनियम अपवादों को संभालना

यहां, कुछ महत्वपूर्ण मानक हैं, जिनके उपयोग से आप सेलेनियम वेबड्राइवर में अपवादों को संभाल सकते हैं:

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

प्रयत्न{{// कोड} पकड़ (अपवाद ई) {// हैंडलिंग अपवाद के लिए कोड}
  • मल्टीपल कैच ब्लॉक : विभिन्न प्रकार के अपवाद हैं, और आप कोड के एक ब्लॉक से एक से अधिक अपवाद की उम्मीद कर सकते हैं। एकाधिक कैच आपको कोड के एक अलग ब्लॉक के साथ अलग-अलग प्रकार के अपवाद को संभालने में मदद करते हैं। इसका उपयोग दो से अधिक कैच ब्लॉक के लिए किया जा सकता है, और कैच ब्लॉक्स की संख्या पर कोई सीमा नहीं है।
प्रयत्न{{// कोड} पकड़ (ExceptionType1 e1) {// हैंडलिंग अपवाद के लिए कोड 1} पकड़ (ExceptionType2 e2) {// हैंडलिंग अपवाद के लिए कोड 2}
  • थ्रो : जब आप एक्ससेप्शन जेनरेट करना चाहते हैं, तो थ्रो कीवर्ड का इस्तेमाल एक्ससेप्शन को रन टाइम में संभालने के लिए फेंकने के लिए किया जाता है। जब आप बिना किसी अपवाद के एक अपवाद को फेंक रहे हैं, तो उन्हें थ्रो कीवर्ड का उपयोग करने की आवश्यकता है।
सार्वजनिक स्थैतिक शून्य anyFunction () अपवाद {फेंकता हैप्रयत्न {// अपना कोड यहाँ लिखें} कैच (अपवाद b) {// आप जो भी प्रदर्शन करना चाहते हैं, वह करें// अपवाद को सिस्टम में वापस फेंक देंफेंक (बी);}}
  • एकाधिक अपवाद : आप थ्रेड क्लाज में विभिन्न अपवादों का उल्लेख कर सकते हैं।
सार्वजनिक स्थैतिक शून्य anyFunction () ExceptionType1, ExceptionType2 {फेंकता हैप्रयत्न {// अपना कोड यहाँ लिखें} पकड़ (ExceptionType1 e1) {// अपवाद 1 को संभालने के लिए कोड} कैच (ExceptionType1 e2) {// अपवाद 2 को संभालने के लिए कोड}
  • अंत में : अंतिम कीवर्ड का उपयोग कोशिश ब्लॉक के तहत कोड बनाने के लिए किया जाता है। यह अंतिम कोड है जो आपको अपवाद की घटना के बावजूद निष्पादित करने में मदद करता है
प्रयत्न {// कोड} पकड़ (ExceptionType1 e1) {// पकड़ो ब्लॉक} पकड़ (ExceptionType2 e2) {// पकड़ो ब्लॉक} पकड़ (ExceptionType3 e3) {// पकड़ो ब्लॉक} आखिरकार {// अंत में ब्लॉक हमेशा निष्पादित होता है।}

अपवाद प्रदर्शित करने के तरीके

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

  • PrintStackTrace () : यह फ़ंक्शन स्टैक ट्रेस, अपवाद का नाम और अन्य उपयोगी विवरण प्रिंट करता है।
  • .String () : यह फ़ंक्शन अपवाद नाम और विवरण का वर्णन करते हुए एक पाठ संदेश लौटाता है।
  • getMessage () : अपवाद का वर्णन प्रदर्शित करने में मदद करता है।

सारांश:

  • एक अपवाद एक त्रुटि है जो एक कार्यक्रम के निष्पादन के समय होता है।
  • ट्राइ-कैच: यह तरीका एक्सेप्शन को पकड़ सकता है, जो कि ट्राई का एक संयोजन इस्तेमाल करता है और कीवर्ड पकड़ता है।
  • एकाधिक कैच आपको कोड के एक अलग ब्लॉक के साथ अलग-अलग प्रकार के अपवाद को संभालने में मदद करते हैं।
  • थ्रो कीवर्ड का उपयोग एक्ससेप्शन को रन टाइम में संभालने के लिए फेंकने के लिए किया जाता है।
  • PrintStackTrace (): यह फ़ंक्शन स्टैक ट्रेस, अपवाद का नाम और अन्य उपयोगी विवरण प्रिंट करता है
  • .String (): यह फ़ंक्शन अपवाद नाम और विवरण का वर्णन करते हुए एक पाठ संदेश लौटाता है।
  • getMessage (): अपवाद का वर्णन प्रदर्शित करने में मदद करता है।