गेको चालक क्या है?
गेको शब्द एक वेब ब्राउज़र इंजन के लिए खड़ा है जो मोज़िला फ़ायरफ़ॉक्स ब्राउज़र के भीतर इनबिल्ट है। गेको चालक वेब चालक सक्षम ग्राहकों (ग्रहण, नेटबीन्स, आदि) और मोज़िला फ़ायरफ़ॉक्स ब्राउज़र के बीच एक प्रॉक्सी के रूप में कार्य करता है। संक्षेप में, गेको चालक सेलेनियम वेब चालक परीक्षणों और मोज़िला फ़ायरफ़ॉक्स ब्राउज़र के बीच एक कड़ी के रूप में कार्य करता है।
सेलेनियम 3 से पहले, मोज़िला फ़ायरफ़ॉक्स ब्राउज़र सेलेनियम के लिए डिफ़ॉल्ट ब्राउज़र था। सेलेनियम 3 के बाद, परीक्षकों को स्पष्ट रूप से GeckoDriver का उपयोग करके फ़ायरफ़ॉक्स का उपयोग करने के लिए स्क्रिप्ट को इनिशियलाइज़ करना होगा। सेलेनियम, Ge3oDriver के लिए अनुरोध भेजने के लिए W3C Webdriver प्रोटोकॉल का उपयोग करता है, जो उन्हें Marionette नामक एक प्रोटोकॉल में अनुवाद करता है। फ़ायरफ़ॉक्स Marionette प्रोटोकॉल के रूप में प्रेषित आदेशों को समझेगा और उन्हें निष्पादित करेगा।
गेको चालक का उपयोग करने का लाभ
सेलेनियम वेबड्राइवर संस्करण 2.53 मोज़िला फ़ायरफ़ॉक्स संस्करण 47.0+ के साथ संगत नहीं है। मोज़िला फ़ायरफ़ॉक्स के पुराने संस्करणों में उपयोग किए गए फ़ायरफ़ॉक्स ड्राइवर को बंद कर दिया जाएगा, और केवल गेकोड्राइवर कार्यान्वयन का उपयोग किया जाएगा। इसलिए यदि वे मोज़िला फ़ायरफ़ॉक्स संस्करण 47.0+ पर स्वचालित परीक्षण चलाना चाहते हैं, तो परीक्षक गेकोड्राइवर का उपयोग करने के लिए मजबूर होते हैं। लेकिन बड़ा सवाल - फायदा क्या है?
डिफ़ॉल्ट फ़ायरफ़ॉक्स ड्राइवर के विरोध के रूप में गेकोड्राइवर का उपयोग करने का प्रमुख लाभ संगतता है । गेकोड्राइवर सेलेनियम के साथ संवाद करने के लिए डब्ल्यू 3 सी वेबड्राइवर प्रोटोकॉल का उपयोग करता है । W3C वेब ड्राइवर के लिए एक सार्वभौमिक रूप से परिभाषित मानक है। इसका मतलब है कि सेलेनियम डेवलपर्स (सेलेनियम आधार कोड करने वाले लोग) को प्रत्येक ब्राउज़र संस्करण के लिए वेब ड्राइवर का नया संस्करण बनाने की आवश्यकता नहीं है। एक ही वेब ड्राइवर का उपयोग कई ब्राउज़र संस्करणों के लिए किया जा सकता है। इसलिए, फ़ायरफ़ॉक्स ड्राइवर के पुराने कार्यान्वयन की तुलना में गेकोड्राइवर को प्राथमिकता दी जाती है।
जेको ड्राइवर डाउनलोड और इंस्टॉल करें:
गेको चालक एक निष्पादन योग्य फ़ाइल के रूप में उपलब्ध है जिसे सिस्टम पर डाउनलोड किया जा सकता है। भूको चालक डाउनलोड करने के लिए चरणों की सूची नीचे दी गई है।
चरण 1) इस पृष्ठ पर https://github.com/mozilla/geckodriver/releases, अपने ऑपरेटिंग सिस्टम के आधार पर GeckoDriver डाउनलोड के लिए उपयुक्त संस्करण का चयन करें
चरण 2) ज़िप फ़ाइल डाउनलोड पूरा हो जाने के बाद, फ़ाइल फ़ोल्डर पर ज़िप फ़ाइल की सामग्री को निकालें
चरण 3) उस स्थान पर ध्यान दें जहां आपने ड्राइवर को निकाला था। स्थान का उपयोग बाद में ड्राइवर को तुरंत करने के लिए किया जाएगा।
गेकोड्राइव को शुरू करने के तरीके:
गेकोड्राइव को शुरू करने के तीन अलग-अलग तरीके हैं।
1. DesiredCapabilities का उपयोग करना:
सबसे पहले, गेको चालक के लिए सिस्टम गुण सेट करें।
वाक्य - विन्यास:
System.setProperty ("webdriver.gecko.driver", "path to geckdriver.exe फ़ाइल)";
उदाहरण:
System.setProperty ("webdriver.gecko.driver", "D: \\ डाउनलोड \\ GeckoDriver.exe");
अगला, वांछित क्षमताएं सेट करें।
स्वचालित क्षमताओं को निष्पादित करने के लिए वांछित क्षमताएं सेलेनियम को ब्राउज़र का नाम, संस्करण और ऑपरेटिंग सिस्टम समझने में मदद करती हैं। नीचे DesiredCapabilities वर्ग का उपयोग करके जेको ड्राइवर सेट करने के लिए कोड है।
DesiredCapabilities क्षमताओं = DesiredCapabilities.firefox ();क्षमताएं
यहाँ पूरा कोड है
System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapabilities क्षमताओं = DesiredCapabilities.firefox ();क्षमताएंड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर (क्षमताएं);
2. समुद्री संपत्ति का उपयोग करना:
गेको चालक को भी नीचे के रूप में मैरिनेट संपत्ति का उपयोग करके आरम्भ किया जा सकता है
System.setProperty ("webdriver.gecko.driver", "D: \\ डाउनलोड \\ GeckoDriver.exe");
यदि भूको चालक को उपरोक्त विधि का उपयोग करके आरंभ किया जाता है, तो वांछित क्षमताओं के लिए कोड की आवश्यकता नहीं होती है।
3. FirefoxOptions का उपयोग करना:
मोज़िला फ़ायरफ़ॉक्स संस्करण 47+ में विरासत प्रणाली के रूप में मैरिनेट चालक है। इसका लाभ उठाते हुए, नीचे के रूप में फ़ायरफ़ॉक्स विकल्प का उपयोग करके मैरिनेट चालक को बुलाया जा सकता है
FirefoxOptions विकल्प = नए FirefoxOptions ();options.setLegacy (true);
गेको चालक का उपयोग करके फ़ायरफ़ॉक्स लॉन्च करने के लिए कोड:
पैकेज com.guru99.demo;आयात org.junit.After;आयात org.junit.Before;आयात org.junit.Test;आयात org.openqa.selenium.WebDriver;आयात org.openqa.selenium.firefox.FirefoxDriver;आयात org.openqa.selenium.remote.DesiredCapabilities;सार्वजनिक वर्गस्ट्रिंग ड्राइवरपथ = "डी: \\ गुरु99 डेमो \\ गेकोड्राइवर। Exe";जनता से रिश्ता वेबड्राइवर;@इससे पहलेसार्वजनिक शून्य startBrowser () {System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapabilities क्षमताओं = DesiredCapabilities.firefox ();क्षमताएंड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर (क्षमताएं);}@परीक्षासार्वजनिक शून्यDriver.get ("http://demo.guru99.com/selenium/guru99home/");}@उपरांतसार्वजनिक शून्य समाप्ति () {Driver.quit ();}}
कोड स्पष्टीकरण:
@ पहले विधि:
प्रारंभ में, हमें gecko ड्राइवर के लिए सिस्टम गुण को geckdriver.exe फ़ाइल डाउनलोड स्थान पर सेट करने की आवश्यकता है। हमें गेकेओ चालक के साथ संवाद करने के लिए मैरियनेट प्रोटोकॉल का उपयोग करने के लिए सेलेनियम के लिए सही संपत्ति सेट करने की आवश्यकता है। अंत में, हमें वांछित क्षमताओं के लिए ऑब्जेक्ट का उपयोग करके फ़ायरफ़ॉक्स ब्राउज़र उदाहरण शुरू करने की आवश्यकता है।
नीचे दिए गए कथन उपरोक्त कार्य को प्राप्त करने में मदद करते हैं।
System.setProperty ("webdriver.gecko.driver", driverPath);DesiredCapabilities क्षमताओं = DesiredCapabilities.firefox ();क्षमताएंड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर (क्षमताएं);
@परिक्षण विधि:
हम सेलेनियम वेब ड्राइवर द्वारा प्रदान की गई "इनबिल्ट" विधि का उपयोग करके उपयोगकर्ता-निर्दिष्ट URL पर नेविगेट कर रहे हैं। नीचे दिया गया कथन समान प्राप्त करने में मदद करता है।
Driver.get ("http://demo.guru99.com/selenium/guru99home/");
@ बाद की विधि:
अंत में, हम छोड़ दिया विधि का उपयोग कर ब्राउज़र उदाहरण बंद कर रहे हैं।
Driver.quit ();
गैर- गेको से गेको के लिए एक स्क्रिप्ट को संशोधित करें:
सेलेनियम 3 से पहले इस्तेमाल किए जाने वाले नॉन-जेको ड्राइवर स्क्रिप्ट सीधी थी। हमें फ़ायरफ़ॉक्स ड्राइवर का एक उदाहरण बनाने और उदाहरण चर का उपयोग करने की आवश्यकता है।
@इससे पहलेसार्वजनिक शून्य startBrowser () {ड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर ();}
भूको में परिवर्तित करने के लिए, आपको बस एक पंक्ति कोड जोड़ना होगा
@इससे पहलेसार्वजनिक शून्य startBrowser () {System.setProperty ("webdriver.gecko.driver", "D: \\ डाउनलोड \\ GeckoDriver.exe");ड्राइवर = नया फ़ायरफ़ॉक्सड्राइवर ();}
गेको चालक का उपयोग करते समय सामान्य अपवाद उत्पन्न हुए:
निम्नलिखित सामान्य अपवादों की एक सूची है जो गेको चालक का उपयोग करते समय और संकल्प के साथ होती है।
1. ड्राइवर निष्पादन योग्य के लिए रास्ता webdriver.gecko.driver सिस्टम प्रॉपर्टी द्वारा निर्धारित किया जाना चाहिए:
यह अपवाद तब होता है जब उपयोगकर्ता gecko ड्राइवर के लिए सिस्टम गुण को सेट किए बिना फ़ायरफ़ॉक्स ड्राइवर को तत्काल करने की कोशिश करता है। यह आमतौर पर सेलेनियम के शुरुआती लोगों द्वारा किया जाता है जो सेलेनियम 3 से सेलेनियम के पिछले संस्करणों में किए गए परिवर्तनों से अवगत नहीं हैं।
उपरोक्त अपवाद के लिए भू-ड्राइवर के लिए सिस्टम प्रॉपर्टी को सेट करना है।
System.setProperty ("webdriver.gecko.driver", "D: \\ डाउनलोड \\ geckodriver.exe");
कृपया ध्यान दें कि आपको मोज़िला फ़ायरफ़ॉक्स ड्राइवर का एक उदाहरण बनाने से पहले जेको ड्राइवर की संपत्ति निर्धारित करने की आवश्यकता है।
2. फ़ायरफ़ॉक्स कनेक्टेड अपवाद नहीं:
org.openqa.selenium.firefox.NotConnectedException: 45000 एमएस के बाद पोर्ट 7055 पर 127.0.0.1 होस्ट करने के लिए कनेक्ट करने में असमर्थ।
यह अपवाद आमतौर पर तब होता है जब फ़ायरफ़ॉक्स संस्करण को नवीनतम संस्करण में अपग्रेड किया गया है। इस अपवाद का संकल्प सेलेनियम जार फ़ाइल और जेको ड्राइवर को नवीनतम संस्करण में अपडेट करना और उसी का उपयोग करना है।
3. सत्र अपवाद नहीं बनाया गया:
org.openqa.selenium.SessionNotCreatedException: नया दूरस्थ सत्र बनाने में असमर्थ।
यह अपवाद सेलेनियम और गेको चालक के बीच संगतता मुद्दों के कारण होता है। गेको चालक फ़ायरफ़ॉक्स संस्करण 47 या उससे ऊपर के साथ काम करता है। इसे फ़ायरफ़ॉक्स वर्जन को 47 या उससे ऊपर पर अपडेट करके हल किया जा सकता है।
4. कनेक्शन से इनकार अपवाद:
वेबड्राइवर अपवाद: कनेक्शन अस्वीकृत
यह अपवाद उत्पन्न संदेश है जब वेब ड्राइवर फ़ायरफ़ॉक्स के साथ संबंध स्थापित करने में असमर्थ है। इसे निम्नलिखित तकनीकों में से किसी एक का उपयोग करके हल किया जा सकता है।
- वेब ड्राइवर के पुराने इंस्टेंस को नष्ट करने के लिए driver.quit () विधि का उपयोग करें
- अपने स्वचालित परीक्षणों को निष्पादित करने से पहले ब्राउज़र कैश को साफ़ करें
- ग्रहण आईडीई के भीतर परियोजना कार्यक्षेत्र को साफ करें
- हमेशा सेलेनियम गेको चालक के नवीनतम संस्करण और फ़ायरफ़ॉक्स ब्राउज़र के सबसे हाल के संस्करण का उपयोग करें