Geckodriver को डाउनलोड करें Firefox & Selenium

GeckoDriver क्या है? Selenium?

गेको शब्द का अर्थ है वेब ब्राउज़र इंजन जो मोज़िला में अंतर्निहित है Firefox ब्राउज़र. गेको ड्राइवर वेब ड्राइवर सक्षम क्लाइंट के बीच प्रॉक्सी के रूप में कार्य करता है(Eclipse, नेटबीन्स, आदि) और मोज़िला Firefox ब्राउज़र। संक्षेप में, गेको ड्राइवर एक लिंक के रूप में कार्य करता है Selenium वेब ड्राइवर परीक्षण और मोज़िला Firefox ब्राउज़र.

से पहले Selenium 3, मोज़िला Firefox ब्राउज़र डिफ़ॉल्ट ब्राउज़र था Selenium। बाद Selenium 3, परीक्षकों को उपयोग करने के लिए स्क्रिप्ट को आरंभीकृत करना होगा Firefox GeckoDriver का स्पष्ट रूप से उपयोग करना. Selenium गेकोड्राइवर को अनुरोध भेजने के लिए W3C वेबड्राइवर प्रोटोकॉल का उपयोग करता है, जो उन्हें नामक प्रोटोकॉल में अनुवादित करता है Mariओनेट. Firefox के रूप में प्रेषित आदेशों को समझेंगे Mariओनेट प्रोटोकॉल का उपयोग करता है और उन्हें निष्पादित करता है।

GeckoDriver में Selenium

GeckoDriver को कैसे डाउनलोड और इंस्टॉल करें? Selenium

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

चरण 1 ) उपयुक्त संस्करण का चयन करें.
इस पृष्ठ पर https://github.com/mozilla/geckodriver/releases अपने ऑपरेटिंग सिस्टम के आधार पर GeckoDriver डाउनलोड के लिए उपयुक्त संस्करण का चयन करें

GeckoDriver को डाउनलोड और इंस्टॉल करें Selenium

चरण 2) ज़िप फ़ाइल निकालें।
एक बार ZIP फ़ाइल डाउनलोड पूरा हो जाने पर, ZIP फ़ाइल की सामग्री को फ़ाइल फ़ोल्डर में निकालें

GeckoDriver को डाउनलोड और इंस्टॉल करें Selenium

चरण 3) स्थान नोट करें.
उस स्थान को नोट करें जहाँ आपने ड्राइवर निकाला था। ड्राइवर को इंस्टैंसिएट करने के लिए बाद में स्थान का उपयोग किया जाएगा।

GeckoDriver को डाउनलोड और इंस्टॉल करें Selenium

गेकोड्राइवर को आरंभ करने के तरीके

गेकोड्राइवर को आरंभ करने के तीन अलग-अलग तरीके हैं।

1. वांछित क्षमताओं का उपयोग करना

सबसे पहले, Gecko Driver के लिए सिस्टम प्रॉपर्टी सेट करें।

सिंटेक्स:

System.setProperty("webdriver.gecko.driver","Path to geckdriver.exe file");

उदाहरण:

System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");

इसके बाद, वांछित क्षमताएं निर्धारित करें।

वांछित क्षमताएं सहायता करती हैं Selenium स्वचालित परीक्षणों को निष्पादित करने के लिए ब्राउज़र का नाम, संस्करण और ऑपरेटिंग सिस्टम को समझना। DesiredCapabilities क्लास का उपयोग करके गेको ड्राइवर सेट करने के लिए नीचे कोड दिया गया है।

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);

यहाँ पूरा कोड है

System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver= new FirefoxDriver(capabilities);

2. कठपुतली संपत्ति का उपयोग करना

गेको ड्राइवर को नीचे दिए गए अनुसार मैरियोनेट प्रॉपर्टी का उपयोग करके भी आरंभ किया जा सकता है

System.setProperty("webdriver.gecko.driver","D:\\Downloads\\GeckoDriver.exe");

यदि गेको ड्राइवर को उपरोक्त विधि का उपयोग करके आरंभ किया जाता है, तो वांछित क्षमताओं के लिए कोड है नहीं आवश्यक.

3। का प्रयोग Firefoxऑप्शंस

मोज़िला Firefox संस्करण 47+ में मैरियनेट ड्राइवर एक विरासत प्रणाली के रूप में है। इसका लाभ उठाते हुए, मैरियनेट ड्राइवर को उपयोग करके बुलाया जा सकता है Firefox विकल्प नीचे दिए गए हैं

FirefoxOptions options = new FirefoxOptions();
options.setLegacy(true);

गेको ड्राइवर का उपयोग करके फ़ायरफ़ॉक्स लॉन्च करने के लिए कोड

package com.guru99.demo;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class GeckoDriverDemo {

    String driverPath = "D:\\Guru99Demo\\GeckoDriver.exe";
    public WebDriver driver;

    @Before
    public void startBrowser() {
        System.setProperty("webdriver.gecko.driver", driverPath);
        DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        capabilities.setCapability("marionette", true);
        driver = new FirefoxDriver(capabilities);

    }

    @Test
    public void navigateToUrl() {
        driver.get("https://demo.guru99.com/selenium/guru99home/");
    }

    @After
    public void endTest() {
        driver.quit();
    }

}

कोड स्पष्टीकरण

@Before विधि

शुरुआत में, हमें gecko ड्राइवर के लिए सिस्टम प्रॉपर्टी को geckdriver.exe फ़ाइल डाउनलोड स्थान पर सेट करना होगा। हमें marionette प्रॉपर्टी को true पर सेट करना होगा। Selenium उपयोग करने के लिए Mariगेको ड्राइवर के साथ संवाद करने के लिए ओनेट प्रोटोकॉल। अंत में, हमें शुरू करने की आवश्यकता है Firefox वांछित क्षमताओं के लिए ऑब्जेक्ट का उपयोग करने वाला ब्राउज़र इंस्टेंस।

नीचे दिए गए कथन उपरोक्त कार्य को पूरा करने में मदद करते हैं।

System.setProperty("webdriver.gecko.driver", driverPath);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette",true);
driver= new FirefoxDriver(capabilities);

@परिक्षण विधि

हम द्वारा प्रदान की गई इनबिल्ट “get” विधि का उपयोग करके उपयोगकर्ता-निर्दिष्ट URL पर नेविगेट कर रहे हैं Selenium वेब ड्राइवर। नीचे दिया गया कथन इसे प्राप्त करने में मदद करता है।

driver.get("https://demo.guru99.com/selenium/guru99home/");

@आफ्टर विधि

अंत में, हम quit विधि का उपयोग करके ब्राउज़र इंस्टेंस को बंद कर रहे हैं।

driver.quit();

गैर-गेको के लिए एक स्क्रिप्ट को गेको में संशोधित करें

पहले इस्तेमाल की गई नॉन-गेको ड्राइवर स्क्रिप्ट Selenium 3 सीधा था। हमें इसका एक उदाहरण बनाने की जरूरत है Firefox ड्राइवर और उदाहरण चर का उपयोग करें.

@Before
public void startBrowser() {
    driver = new FirefoxDriver();

}

गेको में बदलने के लिए, आपको बस कोड की एक पंक्ति जोड़नी होगी

    @Before
    public void startBrowser() {
        System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\GeckoDriver.exe");
        driver = new FirefoxDriver();

    }

गेको ड्राइवर का उपयोग करते समय सामान्य अपवाद हुए

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

यह अपवाद तब होता है जब उपयोगकर्ता तत्कालीकरण करने का प्रयास करता है Firefox गेको ड्राइवर के लिए सिस्टम प्रॉपर्टी सेट किए बिना ड्राइवर। यह आमतौर पर शुरुआती लोगों द्वारा किया जाता है Selenium जो लोग इन परिवर्तनों से अवगत नहीं हैं Selenium को 3 Selenium पिछला संस्करण।

उपरोक्त अपवाद का समाधान geckodriver.exe फ़ाइल के स्थान के साथ gecko ड्राइवर के लिए सिस्टम गुण को नीचे दिए अनुसार सेट करना है

System.setProperty("webdriver.gecko.driver", "D:\\Downloads\\geckodriver.exe");

कृपया ध्यान दें कि आपको मोज़िला का इंस्टेंस बनाने से पहले गेको ड्राइवर की प्रॉपर्टी सेट करनी होगी Firefox चालक।

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.

यह अपवाद आमतौर पर तब होता है जब Firefox संस्करण को नवीनतम संस्करण में अपग्रेड किया गया है। इस अपवाद का समाधान सेलेनियम जार फ़ाइल और गेको ड्राइवर को नवीनतम संस्करण में अपडेट करना और उसका उपयोग करना है।

org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session.

यह अपवाद संगतता समस्याओं के कारण होता है Selenium और गेको ड्राइवर। गेको ड्राइवर के साथ काम करता है Firefox संस्करण 47 या उससे ऊपर। इसे अपडेट करके हल किया जा सकता है Firefox संस्करण 47 या उससे ऊपर।

WebDriver Exception: Connection Refused

यह अपवाद वह संदेश है जो तब उत्पन्न होता है जब वेब ड्राइवर कनेक्शन स्थापित करने में असमर्थ होता है Firefoxइसे निम्नलिखित तकनीकों में से किसी एक का उपयोग करके हल किया जा सकता है।

  • उपयोग driver.quit() वेब ड्राइवर के पुराने इंस्टैंस को नष्ट करने की विधि
  • अपने स्वचालित परीक्षण निष्पादित करने से पहले ब्राउज़र कैश साफ़ करें
  • प्रोजेक्ट कार्यक्षेत्र को साफ़ करें Eclipse आईडीई
  • हमेशा सेलेनियम गेको ड्राइवर का नवीनतम संस्करण और सबसे हाल का संस्करण उपयोग करें Firefox ब्राउज़र

गेको ड्राइवर का उपयोग करने का लाभ

Selenium वेबड्राइवर संस्करण 2.53 मोज़िला के साथ संगत नहीं है Firefox संस्करण 47.0+. Firefox मोज़िला के पुराने संस्करणों में प्रयुक्त ड्राइवर Firefox बंद कर दिया जाएगा, और केवल गेकोड्राइवर कार्यान्वयन का उपयोग किया जाएगा। इसलिए यदि परीक्षक मोज़िला पर स्वचालित परीक्षण चलाना चाहते हैं तो उन्हें गेकोड्राइवर का उपयोग करने के लिए मजबूर होना पड़ता है Firefox संस्करण 47.0+. लेकिन बड़ा सवाल - लाभ क्या है?

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